|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Nicolas Ingénieur développement logiciels Inscription : décembre 2006 Messages : 111 ![]() |
Bonjour à tous et joyeux noël,
j'ai créé une base de données relativement complexe où les tables sont interconnectés avec des tables de liens. ça marche bien, sauf que c'est parfois lent. Il paraît qu'utiliser des clés secondaires pourrait accélérer le process. Comment s'en servir? Dois-je définir les deux colonnes des tables de liens comme secondaire? Pour info, j'appelle table de liens les tables telles que: Table de lien "Employé_Entreprise" ID Employe_ID Entreprise_ID 1 1 2 2 2 3 Table "Employé" ID Nom etc. 1 Martin 2 Dupuis Table "Entreprise" ID Nom Adresse 1 IBM 2 Oracle 3 CSC Left joint etc... pour avoir la liste des employés dans chaque entreprise. Merci d'avance, Nicolas |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Bonjour,
Vous n'avez pas dit si vous aviez des index sur les tables concernees ? Table "Employé" --> indexs ? Table "Entreprise" --> indexs ? Table de lien "Employé_Entreprise" --> indexs ? ++ |
|
00
|
|
|
#3 |
|
Membre du Club
![]() Nicolas Ingénieur développement logiciels Inscription : décembre 2006 Messages : 111 ![]() |
j'ai pas d index...
les IDs sont des clés primaires. |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Il faut donc commencer par en mettre sur les cles etranges de votre table d'association (table de lien)
Table de lien "Employé_Entreprise" --> index sur Employe_Id et index sur Entreprise_ID Lorsque vous ferez vos jointures vous aurez deja plus de performances. ++ |
|
00
|
|
|
#5 |
|
Membre du Club
![]() Nicolas Ingénieur développement logiciels Inscription : décembre 2006 Messages : 111 ![]() |
merci beaucoup pour votre aide
.Dernière question pour comprendre tout ça: il vaut mieux faire un index par référence dans la table de liens ou faire un seul index pour les deux références? Je cherche à avoir des queries les plus rapides possible |
|
|
00
|
|
|
#6 | |
|
Membre Expert
![]() ![]() |
Citation:
|
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
a première vue, je dirai :
un index (Employe_ID, Entreprise_ID) et un index (Entreprise_ID, Employe_ID) mais tout dépend de tes requêtes. |
|
|
00
|
|
|
#8 | |
![]() ![]() ![]() David BARBARINExpert SQL Server Inscription : août 2005 Messages : 3 723 ![]() |
Citation:
++ |
|
|
00
|
|
|
#9 | |||
|
Membre Expert
![]() ![]() Inscription : janvier 2010 Messages : 1 084 ![]() |
Citation:
Citation:
Citation:
car sa dépend de la fréquence des insertions, du type des requêtes de sélection,... bref de ses besoins |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com