|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Responsable d'exploitation informatique Inscription : mars 2005 Messages : 437 ![]() |
bonjour,
je suis sur une 9iR2, sous windows. Je cherche à trouver dans ma base les foreign key qui ne sont pas indexées (il y a une heure, je ne savais même pas que c'était possible...) Quelqu'un aurait'il une méhode ou une requête pour m'éviter de chercher table à table ? Intérêt : il semblerait qu'Oracle vérouille toute la table lors de mises à jour d'un champ en foreign key non indéxé !! Pour les verrous, combine de temps Oracle garde t'il un verrou avant d'annuler la transaction (cas d'un utilsiateur en modification qui sort brutalement !) ; peut'on régler ce "timer" ??
__________________
apprenti sorcier Oracle & boulet intérimaire... http://www.courtois.cc/murphy/murphy_informatique.html |
|
|
00
|
|
|
#2 |
![]() ![]() Consultant en Business Intelligence Inscription : janvier 2007 Messages : 1 192 ![]() |
Bonjour,
peut être une piste : la table ALL_CONSTRAINTS possède une colonne constraint_type qui losqu'elle vaut P concerne les Primary key, et losqu'elle vaut R correspond aux foreign key. |
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 450 ![]() |
Pour la liste des Foreign key non indexés, Asktom est ton ami.
http://asktom.oracle.com/tkyte/unindex/index.html J'aime bien sa façon de faire en 1 select. Code :
__________________
More Code : More Bugs. Less Code : Less Bugs |
||
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Responsable d'exploitation informatique Inscription : mars 2005 Messages : 437 ![]() |
merci pour l'éfficacité !
Je m'aperçois que j'ai un petit paquet de FK non indéxées ; vous êtes dans le même cas que moi où je suis le seul boulet à avoir une base pourrie ?
__________________
apprenti sorcier Oracle & boulet intérimaire... http://www.courtois.cc/murphy/murphy_informatique.html |
|
|
00
|
|
|
#5 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 450 ![]() |
En fait ça dépend pas mal de ta base de donnée.
Un gars d'oracle (suite à des pb de perfs) nous a dit : Tous ces indexes sur les FK qui ne servent jamais : A supprimer. Trop d'indexes pourrissent aussi la base.
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Responsable d'exploitation informatique Inscription : mars 2005 Messages : 437 ![]() |
il a dit çà ??? je croyais qu'au contraire, c'était le fait de ne pas avoir d'index sur les FK qui générait des soucis (full scan, locks )
__________________
apprenti sorcier Oracle & boulet intérimaire... http://www.courtois.cc/murphy/murphy_informatique.html |
|
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 450 ![]() |
Oui les locks... mais bon, si tu as 20 indexes sur ta table, chaque insertion/delete dans ta table va mettre à jour les indexes, les trier, etc...
Faut voir si les références maitres sont souvent modifiées/supprimées
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#8 |
|
Membre éclairé
![]() Inscription : avril 2006 Messages : 465 ![]() |
Moi je suis partisan d'indexer toute les FK. (t inquiete pas t'es pas le seul a avoir une base pourrie). Les lock de niveau table sont tres pénalisant, je ne parle meme pas des éventuelles FK en delete cascade.
Partir dans une analyse, référence souvent modifié ou non me parait complètement irréaliste ! ! En plus c'est quoi la conclusion. Si la référence est souvent modifié c'est a dire que l'on a souvent besoin de l'index puisque qu'il y a souvent des problème avec les lock mais c'est aussi dans ce cas que l'on met souvent a jour les index et donc que c'est "couteux" en terme de perf. C'est mon avis et je le partage.... |
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Responsable d'exploitation informatique Inscription : mars 2005 Messages : 437 ![]() |
bon, donc la meilleure solution semble bien d'indexer les FK ; mais pourquoi Oracle n'indexe pas par défaut dans ce cas ??
__________________
apprenti sorcier Oracle & boulet intérimaire... http://www.courtois.cc/murphy/murphy_informatique.html |
|
|
00
|
|
|
#10 |
|
Membre éclairé
![]() Inscription : avril 2006 Messages : 465 ![]() |
Grande question metaphysique à la quelle je n'ai toujousr pas trouvé de réponse
|
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Responsable d'exploitation informatique Inscription : mars 2005 Messages : 437 ![]() |
bon bon ... merci pour tout !
Moi et ma base pourrie, on a du pain sur la planche ...
__________________
apprenti sorcier Oracle & boulet intérimaire... http://www.courtois.cc/murphy/murphy_informatique.html |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com