28. juni 2006 - 11:19Der er
6 kommentarer og 2 løsninger
Select bruger ikke index, skriver TABLE ACCESS FULL
Når jeg laver en select fra en tabel med where clause bruger den ikke index. Query'en bliver bare ved med at køre. Således ser explain plan ud på Sql'en:
SELECT STATEMENT Optimizer Mode=CHOOSE 666 K 59904 SORT ORDER BY 666 K 118 M 59904 PARTITION RANGE ALL TABLE ACCESS FULL INVOICE_DETAIL_LINE 666 K 118 M 41372
Den skriver "TABLE ACCESS FULL", hvad betyder det?
Det virker når jeg laver en hint, men jeg kan ikke bruge den løsning fordi jeg ikke har adgang til java koden, der laver sql'en. Jeg kan ikke lave statistikker fordi tabellen indeholder millioner af rækker og det ville tage for lang tid måske senere i aften.
Selve sql'en er meget simpel, noget ala "select * from tabelNavn where kolonne=99999"
Jeg løste det ved at slette index og så oprette den igen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.