14-10-2009, 03:58 PM
le fait de tester toutes les solutions est didactique, ça permet de voir que parfois des solutions assez "folles" fonctionnent mieux que d'autres (parfois faire des jointures ou mettre des conditions "inverses" donnent de meilleurs résultats que l'ordre logique et naturel :p )
par exemple (je donne les chiffres de mon projet), j'ai une map de 1.000.000 de cases, j'affiche des personnages (pj,pnj,monstres,boss) venant de 4 tables différentes, avec comme équipement des armes et des armures (2 tables différentes), j'ai assez bien de croisements dans mes jointures, et changeant juste l'ordre des jointures (genre a.date_start>=sysdate AND a.date_end<=sysdate à la place a sysdate BETWEEN a.date_start AND a.date_end), j'ai déjà une belle différence en temps d'exécution avec MySQL 5.1
tout mettre dans une table, y a du pour et du contre. ça dépends si tu as 10 tables avec 5 lignes dans chacune ou une table avec 5^10 lignes... je préfère la premiere solution avec de bonnes jointures
par exemple (je donne les chiffres de mon projet), j'ai une map de 1.000.000 de cases, j'affiche des personnages (pj,pnj,monstres,boss) venant de 4 tables différentes, avec comme équipement des armes et des armures (2 tables différentes), j'ai assez bien de croisements dans mes jointures, et changeant juste l'ordre des jointures (genre a.date_start>=sysdate AND a.date_end<=sysdate à la place a sysdate BETWEEN a.date_start AND a.date_end), j'ai déjà une belle différence en temps d'exécution avec MySQL 5.1
tout mettre dans une table, y a du pour et du contre. ça dépends si tu as 10 tables avec 5 lignes dans chacune ou une table avec 5^10 lignes... je préfère la premiere solution avec de bonnes jointures
Je signale que je ne détiens pas la vérité unique et absolue, je peux me tromper. La critique peut aussi être constructive. Critiquez moi!
La quête d'Ewilan
http://easy2hack.ma-soiree.be
La quête d'Ewilan
http://easy2hack.ma-soiree.be