La requête de compte de MySQL est très rapide :
mysql> Select count(*) from table;
En fait, cette requête ne sollicite pas les données de la table, mais les informations statistiques....
Bonjour,
J'ai une question toute bête qui concerne l'exploitation que l'on peut faire d'une requête SQL.
Imaginons que je fasse un select sur une table, que je classe le résultat avec mysql_fetch_assoc() ou mysql_fetch_array() et que je boucle ... Forum Développement d'un site Web
bonjour,
j'essaye de recupérer dans une table Mysql toutes les lignes dont le champs 'ref' commence par XX00000
Cechamps ref est construit avec 'XX00000.00'
(2 lettres 5 chiffres 1point 2chiffres)
j'ai la requete :
SELECT * FROM table WHE... Forum Développement d'un site Web
MySQL disposent d'index qui excellent à rechercher des prefixes de données :
select * from table where nom = 'seg%';
par contre, MySQL n'aime pas rechercher les suffixes :
select *...
Après avoir développé une application Web, il est souvent intéressant d'activer le log de requête SQL de MySQL, pour voir à quel point l'application utilise la base de données. Moins...
Bonjur à toutes et tous,
Un petit problème compliqué pour moi. Je vous explique.
J'ai une requete SELECT machinchose... elle s'affiche en 0,18. Ce SELECT est en fait une requête qui ne doit se calculer qu'une seule fois. Imaginez vous dans une ... Forum Développement d'un site Web
Une requête simple, une colonne indexée, une table bien à jour : pourtant , MySQL refuse d'utiliser l'index qui lui est offert, et se lance dans un scan de table complet, pendant une heure et demi. Quelle estimation a-t-il fait de la réalité pour contre-carrer les plans établis' Et surtout, comment résoudre ce dilemme? Simplement, en sachant comment fonctionne MySQL.
Lors du partitionnement d'une table, on propose souvent de placer les vieilles informations dans une table d'archives, et de garder les informations récentes dans une table plus courte. De cette manière, les informations plus fréquentes sont plus faciles à retrouver.
Mais quand il faut quand même utiliser la table d'archives pour réaliser différentes vérifications (l'unicité par exemple), cela impose une double requête : une sur chaque table. Avec une archive qui est sur un media lent, la partition peut être plus finalement plus lente que l'architecture initiale.
Baron Schwartz a alors pensé à une astuce : en utilisant une variable MySQL, on peut repérer les résultats d'une première requête, et court-circuiter les requêtes suivantes. How to write a lazy UNION in MySQL (0 visite)
Une des améliorations attendue de MySQL 5.1 est le partionnage de table : les données d'une table sont alors réparties sur le disque à différents endroits, ce qui évite le syndrome de la très grande table. La répartition des données se fait à l'aide d'une fonction, qui calcule le lieu de résidence des données. Avec MySQL, les données peuvent être réparties avec un modulo, un intervalle de données ou une liste de valeurs, une fonction interne de hashing ou encore une fonction externe de hashing.
Notez aussi que MySQL 5.1 est disponible aux tests, en qualité alpha.
Depuis Novembre 2005, je travaille sur un profileur de requête pour MysQL, grâce aux commandes SHOW PROFILE et SHOW PROFILES. C'est un projet intéressant, et il est maintenant rendu public...
Bonjour
J'ai une requête MySQL trop lourde avec un RAND dans un ORDER
[code:1:f6fc3bc1b4]SELECT compteur, categorie, photo_small, description, title FROM wpa_photo WHERE valide!=0 ORDER BY RAND() LIMIT 1[/code:1:f6fc3bc1b4]
Comment peu... Forum Développement d'un site Web
Lorsque l'on parle d'optimisation de requête sur MyQL, ou qu'on dit qu'une requête ne s'exécute pas correctement, on pense générlement en temps d'exécution. Cette durée est importante, mais ce n'est...
"MySQL fournit un mécanisme de cache de requête et de résultat, accessible à tous les utilisateurs. C'est un outil très utile dans les applications qui font souvent des répétitions des mêmes requêtes. " Les applications Web sont très gourmandes de ce type de fonctionnalités.
Voici comment paramétrer le cache de requête, en quelques directives.
Je cherchais un tueur de requête pour MySQL depuis longtemps. Ce sont simplement des programmes qui surveillent la commande show processlist de MySQL, et décident d'interrompre des requêtes qui violent...
Grâce aux données fournies par AOL (sic), nous avons pu calculer des statistiques sur les clics des utilisateurs dans les pages de résultats. En voici d'autres sur le nombre de mots par requête...