|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : novembre 2005 Messages : 462 ![]() |
Bonjour les forumistes...
Un SELECT imbriqué lit une table de 20000 rows en 'table acces Full' pourtant l'identifiant utilisé pour lire cette table est la clé de la table...(Oracle préfère donc lire en 'table acces full' et je ne sais pas pourquoi...) ALors, j'ai simulé (avec DBMS-STATS.set_colums_stats, et DBMS-STATS.set_colums_index) un index à 5000000 rows et la colonne indéxée avec 500000 valeurs différentes) => Et bien ça ne change rein à mon Explain.. la table est toujours lue en 'Table acces full'... Ai-je oublié quelque chose ? Faut-il faire autre chose ? Merci pour vos aides ... |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 450 ![]() |
Faudrait voir la requete.
Pas de cast implicite sur une des colonnes ?
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : novembre 2005 Messages : 462 ![]() |
Qu'appelez-vous 'cast implicite', un hint caché quelque part ? Ce n'est pas le cas...
|
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 533 ![]() |
Il y a t-il seulement une clause WHERE déterminante dans l'ordre Select ?
__________________
Rédacteur Oracle (Oracle ACE) Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche Je ne réponds pas aux questions techniques par MP Blogs: Forms-PL/SQL-J2EE - Forms Java Beans |
|
|
00
|
|
|
#5 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 450 ![]() |
Cast implicite : dans ta table une colonne col1 : NUMBER,
tu lui passes WHERE col1 = '0'
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#6 |
|
Membre régulier
![]() Inscription : novembre 2005 Messages : 462 ![]() |
Bien sûr, ma clause where est codée avec :
WHERE CODE_autre_table = CODE_ma_table en fait, l'optimiseur prend l'index de code_autre_table et lis cette autre_table d'une façon qui ralentit le traitement... Comment faire pour que l'optimiseur choisisse l'index de CODE_ma_table... Merci encore pour vos réponses... |
|
|
00
|
|
|
#7 |
|
Expert Confirmé Sénior
![]() Inscription : juillet 2003 Messages : 3 450 ![]() |
ajoute un HINT
Code :
SELECT /*+ INDEX (Nom_ou_alias_table nom_index)*/
__________________
More Code : More Bugs. Less Code : Less Bugs |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 533 ![]() |
Je me souviens avoir vu des problèmes de perfs parceque les colonnes jointes n'étaient pas de même type
tab1.col1 = tab2.col1 tab1.col1 était Varchar2 tab2.col1 était number
__________________
Rédacteur Oracle (Oracle ACE) Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche Je ne réponds pas aux questions techniques par MP Blogs: Forms-PL/SQL-J2EE - Forms Java Beans |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com