par
alsab » 10 nov. 2010, 02:17
Merci cyrano pour tes indications.
Pour info je viens de faire un test avec la table pièces, 1 colonne id (key primary), 1 colonne code_pieces(Index unique).
Je l'ai rempli avec 100 000 000 de lignes.
Pour un SELECT * FROM pieces WHERE code_pieces IN (une centaine de code), j'obtient le résultats en moins de 0.1 seconde
Pour un SELECT * FROM pieces WHERE id IN (une centaine d'id), j'obtient le résultats en moins de 0.02 seconde
C'est beaucoup mieux que ce que je pouvais penser, et en plus avec une table innodb.
Sinon pour la table lien, au lieu de faire une table avec 3 colonnes from (Index simple),to (Index simple),validé et ensuite relier les id entre eux, ce qui me ferait une multitude de lignes.
Je pensais faire une table lien avec 4 colonnes id(primary key),relier,en demande,en attente. Ce qui me permettrais d'avoir beaucoup moins de lignes (une seule par pièces) et une meilleure indexation grâce à la primary key.
Ensuite dans les colonnes relier,en demande, en attente (champ text) je mettrais les id de cette façon '101','504','65214',...
Et ensuite pour faire passer un id d'une colonne à l'autre j'utiliserai REPLACE et CONCAT_WS.
J'aurais plus de manip à faire, 2 au lieu d'une. Mais la recherche sera beaucoup plus rapide.
Qu'en pensez vous? Merci
Merci cyrano pour tes indications.
Pour info je viens de faire un test avec la table pièces, 1 colonne id (key primary), 1 colonne code_pieces(Index unique).
Je l'ai rempli avec 100 000 000 de lignes.
Pour un SELECT * FROM pieces WHERE code_pieces IN (une centaine de code), j'obtient le résultats en moins de 0.1 seconde
Pour un SELECT * FROM pieces WHERE id IN (une centaine d'id), j'obtient le résultats en moins de 0.02 seconde
C'est beaucoup mieux que ce que je pouvais penser, et en plus avec une table innodb.
Sinon pour la table lien, au lieu de faire une table avec 3 colonnes from (Index simple),to (Index simple),validé et ensuite relier les id entre eux, ce qui me ferait une multitude de lignes.
Je pensais faire une table lien avec 4 colonnes id(primary key),relier,en demande,en attente. Ce qui me permettrais d'avoir beaucoup moins de lignes (une seule par pièces) et une meilleure indexation grâce à la primary key.
Ensuite dans les colonnes relier,en demande, en attente (champ text) je mettrais les id de cette façon '101','504','65214',...
Et ensuite pour faire passer un id d'une colonne à l'autre j'utiliserai REPLACE et CONCAT_WS.
J'aurais plus de manip à faire, 2 au lieu d'une. Mais la recherche sera beaucoup plus rapide.
Qu'en pensez vous? Merci