Comment cherche rapidemt dans une grande tab

Résolu
bitar -  
 bitar -
comment je peux avoir un id dnas une table tres grand le plus rapidement possible

7 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Le mieux, c'est de définir un index sur ta colonne products_SKU.

Pour faire ça, exécute une fois la requête suivante :
CREATE INDEX ind_SKU ON products (products_SKU);

Si le products_SKU est unique dans la table, tu peux même accélérer les choses en mettant UNIQUE :
CREATE UNIQUE INDEX ind_SKU ON products (products_SKU);

Plus d'informations : http://dev.mysql.com/doc/refman/5.0/fr/mysql-indexes.html


Et ne pas utiliser LIKE, surtout avec un % au début de la recherche... LIKE n'a aucune chance d'être plus rapide que =.
1
bitar
 
merci bcp ca marche nikel
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Juste pour information, tu aurais une estimation du temps que tu gagnes ?
Combien de temps pour la requête avant l'indexation, et après ?

Merci,

Xavier
0
bitar > Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention  
 
avant pour 90000 enregistrement il prend eviron 3 heure mais apres il prend 10 min
0
Mcmurphy Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   7
 
tu le cherche dans la base de donné ou depuis un prog ???
0
Mcmurphy Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   7
 
Tu le cherche dans ta base de donné depuis un prog ??
0
bitar
 
je lance une requete "select" dans php mais ca prend bcp temps de recupere une id car la table est tres grande est ce que il y a une autre facons de recupere l'id .
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mcmurphy Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   7
 
peu tu me montrer ta requéte ?? ta table a combien dentrer aproximativement ??
0
bitar
 
j'ai environ cent mille enregistrement et ma requete est
"SELECT products_id FROM `products` WHERE products_SKU= '".$pdt[3]."'";
le pdt[3] c'est une information qui est unique pour chaque entregistrement aussi
0
Mcmurphy Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   7
 
a tu pensera utiliser un like ???
0
bitar
 
c'est le meme chose, il prend bcp temps de verifie si le cette enregistrement existe or no
0