Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/08/2007, 23h28   #1
Invité de passage
 
Inscription : août 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 3
Points : 0
Points : 0
Par défaut Question sur index DB2 400

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
Jibon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2007, 09h08   #2
jab
Rédacteur
 
Avatar de jab
 
Homme Jean-Alain Baeyens
SharePoint developpeur
Inscription : février 2004
Messages : 1 172
Détails du profil
Informations personnelles :
Nom : Homme Jean-Alain Baeyens
Âge : 48
Localisation : Belgique

Informations professionnelles :
Activité : SharePoint developpeur
Secteur : Service public

Informations forums :
Inscription : février 2004
Messages : 1 172
Points : 3 131
Points : 3 131
Envoyer un message via ICQ à jab Envoyer un message via MSN à jab Envoyer un message via Skype™ à jab
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.
jab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2007, 14h33   #3
Invité de passage
 
Inscription : août 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 3
Points : 0
Points : 0
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
Jibon est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2007, 16h11   #4
jab
Rédacteur
 
Avatar de jab
 
Homme Jean-Alain Baeyens
SharePoint developpeur
Inscription : février 2004
Messages : 1 172
Détails du profil
Informations personnelles :
Nom : Homme Jean-Alain Baeyens
Âge : 48
Localisation : Belgique

Informations professionnelles :
Activité : SharePoint developpeur
Secteur : Service public

Informations forums :
Inscription : février 2004
Messages : 1 172
Points : 3 131
Points : 3 131
Envoyer un message via ICQ à jab Envoyer un message via MSN à jab Envoyer un message via Skype™ à jab
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.
jab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/08/2007, 16h58   #5
Invité de passage
 
Inscription : août 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 3
Points : 0
Points : 0
Merci de vos réponses, ainsi que pour le lien vers la doc de perf, très intéressante.
Jibon est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h00.


 
 
 
 
Partenaires

Hébergement Web