rufo Pas me confondre avec Lycos! | pop-pan a écrit :
boarf, parfois c'est de l'optimisation justement que de separer une table en plusieurs. ca evite des problemes de deadlock en ecriture meme si ca rajoute un cout de consolidation.
apres de la la meme facon si tu n'as besoin que d'afficher les 10 premiers tu peux limiter les sub selects
|
deadlock en ecriture -> sur mysql, tables de type InnoDB et tu lockes plus une tbale entière comme c'est le cas en myisam
optimisation justement que de separer une table en plusieurs -> ça s'appelle le partitionnement, ça existe sur la plupart des sgbd. C'est un mécanisme complètement transparent (une table logique, plusieurs fichiers physiques) et tu partitionnes sur des colonnes ou lignes
afficher les 10 premiers tu peux limiter les sub selects -> order by + limit 0, 10 et une table bien indexée, ça fait l'affaire.
J'ajoute qu'en tunant le fichier de conf de mysql (principalement la taille des buffers et caches), tu peux grandement améliorer les perfs (à condition d'avoir de grosses requêtes sur des grosses tables, sur qq milliers d'enregistrement, ça se voit pas) ---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
|