OVH Cloud OVH Cloud

Est-il nécessaire d'indexer les clés étrangères ?

4 réponses
Avatar
okpwal
Bonjour,
Une question aux spécialiste du SQL : Est-il nécessaire d'indexer les
clés étrangères ?
Par exemple j'ai deux table, TABLEA avec ida comme clé et TABLEB avec
idb comme clé et ida comme foreign.
J'ai établi le lien dans Enterprise Manager ; ma question, est-il
nécessaire et indispensable, en plus, de mettre un indexe sur ida dans
TABLEB ?
Merci.
G.

--
okpwal
la perdrix !

4 réponses

Avatar
Arnaud CLERET
Il est en effet préférable d'indexer cette colonne dans le cadre où vous
feriez des requêtes avec des clauses WHERE telles que :
- SELECT * FROM TABLEB WHERE ida = ...

Toutefois, chaque cas est à considérer car un indexe améliore les
performances lors des sélections de données mais pénalise lors de leur
insertion.

--
arno - http://www.dotnetguru2.org/acleret/

"okpwal" a écrit dans le message de news:

Bonjour,
Une question aux spécialiste du SQL : Est-il nécessaire d'indexer les clés
étrangères ?
Par exemple j'ai deux table, TABLEA avec ida comme clé et TABLEB avec idb
comme clé et ida comme foreign.
J'ai établi le lien dans Enterprise Manager ; ma question, est-il
nécessaire et indispensable, en plus, de mettre un indexe sur ida dans
TABLEB ?
Merci.
G.

--
okpwal
la perdrix !




Avatar
okpwal
> Il est en effet préférable d'indexer cette colonne dans le cadre où vous
feriez des requêtes avec des clauses WHERE telles que :
- SELECT * FROM TABLEB WHERE ida = ...

Toutefois, chaque cas est à considérer car un indexe améliore les
performances lors des sélections de données mais pénalise lors de leur
insertion.

--
arno - http://www.dotnetguru2.org/acleret/

"okpwal" a écrit dans le message de news:

Bonjour,
Une question aux spécialiste du SQL : Est-il nécessaire d'indexer les clés
étrangères ?
Par exemple j'ai deux table, TABLEA avec ida comme clé et TABLEB avec idb
comme clé et ida comme foreign.
J'ai établi le lien dans Enterprise Manager ; ma question, est-il
nécessaire et indispensable, en plus, de mettre un indexe sur ida dans
TABLEB ?
Merci.
G.

-- okpwal
la perdrix !







Je pensais naïvement que le fait de déclarer une foreign key dans une
table posait automatiquement un indexe dessus ?

--
okpwal
la perdrix !
Avatar
Arnaud CLERET
Et non SQL Server ne le fait pas automatiquement comme Oracle il me semble.
:)

--
arno - http://www.dotnetguru2.org/acleret/

"okpwal" a écrit dans le message de news:

Il est en effet préférable d'indexer cette colonne dans le cadre où vous
feriez des requêtes avec des clauses WHERE telles que :
- SELECT * FROM TABLEB WHERE ida = ...

Toutefois, chaque cas est à considérer car un indexe améliore les
performances lors des sélections de données mais pénalise lors de leur
insertion.

--
arno - http://www.dotnetguru2.org/acleret/

"okpwal" a écrit dans le message de news:

Bonjour,
Une question aux spécialiste du SQL : Est-il nécessaire d'indexer les
clés étrangères ?
Par exemple j'ai deux table, TABLEA avec ida comme clé et TABLEB avec
idb comme clé et ida comme foreign.
J'ai établi le lien dans Enterprise Manager ; ma question, est-il
nécessaire et indispensable, en plus, de mettre un indexe sur ida dans
TABLEB ?
Merci.
G.

-- okpwal
la perdrix !







Je pensais naïvement que le fait de déclarer une foreign key dans une
table posait automatiquement un indexe dessus ?

--
okpwal
la perdrix !




Avatar
okpwal
> Et non SQL Server ne le fait pas automatiquement comme Oracle il me semble.
:)

--
arno - http://www.dotnetguru2.org/acleret/

"okpwal" a écrit dans le message de news:

Il est en effet préférable d'indexer cette colonne dans le cadre où vous
feriez des requêtes avec des clauses WHERE telles que :
- SELECT * FROM TABLEB WHERE ida = ...

Toutefois, chaque cas est à considérer car un indexe améliore les
performances lors des sélections de données mais pénalise lors de leur
insertion.

--
arno - http://www.dotnetguru2.org/acleret/

"okpwal" a écrit dans le message de news:

Bonjour,
Une question aux spécialiste du SQL : Est-il nécessaire d'indexer les
clés étrangères ?
Par exemple j'ai deux table, TABLEA avec ida comme clé et TABLEB avec idb
comme clé et ida comme foreign.
J'ai établi le lien dans Enterprise Manager ; ma question, est-il
nécessaire et indispensable, en plus, de mettre un indexe sur ida dans
TABLEB ?
Merci.
G.

-- okpwal
la perdrix !







Je pensais naïvement que le fait de déclarer une foreign key dans une table
posait automatiquement un indexe dessus ?

-- okpwal
la perdrix !







Merci pour m'avoir consacrer un peu de ton temps !

--
okpwal
la perdrix !