|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2007 Messages : 3 ![]() |
Bonjour,
dans le but, et comme tout le monde, d'optimiser mes temps de lecture et d'écriture en bas, j'aurais quelques questions : - En terme de temps de réponse, y-a-il un intérêt à déclarer un index unique "CREATE UNIQUE INDEX...". je suppose que pour l'écriture, cela ralentit un peu pour le contrôle d'unicité, mais en lecture, y-a-t-il un gain par rapport à un index non unique (si on part du principe que les contrôles sont effectués par ailleurs)? - J'ai une table pour laquelle on accède majoritairement sur les champs "champ1" et "champ2". cependant, parfois l'accès doit se faire sur "champ1", "champ2" et "champ3". Le fait de ne créer qu'un seul index sur les 3 champs, ralentit il ma recherche sur les 2 champs? Je pose la question afin d'éviter de créer trop d'index qui ralentissent l'écriture. - J'ai lu sur un cours d'optim sur ce site que, des 2 requêtes ci dessous, la première est la plus rapide : Requete 1 : "select * from test.optimize1 where id in (select id from test.optimize2)" Requete 2 :"select * from test.optimize1,test.optimize2 where optimize1.id = Optimize2.id" Est-ce vrai, quelqu'un l'a vérifié? Merci de vos réponses |
|
|
00
|
|
|
#2 |
![]() ![]() |
Le tutoriel ayant été réalisé avec DB2 windows et étant donné les différences entre le moteurs DB2, il est préférable que tu le vérifies sur ton propre environement. En ce qui concerne l'ajout de champ3 dans ton index, il va vraisemblablement légèrement ralentir la recherche sur les deux autres uniquement (plus champ3 est grand plus l'impact risque d'être visible) ainsi que l'insertion et l'update. L'optimization c'est souvant un savant dosage entre perdre un perdre du temps quelque part et en gagner ailleurs.
Si tu as une vrai base de test (nombre de records similaire à la prod mais aussi disparité des données similaire) le mieux est de faire quelques test toi même sur ton cas pour voir les différences de performance de l'une et l'autre opération et après en fonction des fréquences d'utilisation il te faudre prendre une décision. |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : août 2007 Messages : 3 ![]() |
Merci jab pour ta réponse,
effectivement je vais devoir faire des tests sur les volumes réels de prod, ce qui devrait arriver sous peu. Je reviens juste sur ma première question, et l'intérêt des clés uniques (autre que d'assurer l'intégrité des données). Un accès par un index définit comme UNIQUE est-il plus performant qu'un accès à un index non unique? Merci |
|
|
00
|
|
|
#4 |
![]() ![]() |
Personnellement, Je ne pense pas qu'un index unique soit plus performant qu'un autre. La différence est plutôt dans le contrôle de l'intégrité des données.
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : août 2007 Messages : 3 ![]() |
Merci de vos réponses, ainsi que pour le lien vers la doc de perf, très intéressante.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com