sql >> Database teknologi >  >> RDS >> Oracle

Sådan kontrolleres, om indeks bruges eller ej i Oracle

I Oracle SQL Developer, når du har SQL i regnearket, er der en knap "Forklar plan", du kan også trykke på F10. Når du har udført Explain-planen, vises den i bunden af ​​SQL Developer. Der er en kolonne "OBJECT_NAME", den vil fortælle dig, hvilket indeks der bruges. For eksempel, i en forespørgsel, jeg lige har kørt, viser den i venstre kolonne (OPERATION) først "SELECT STATEMENT", derefter SORT (AGGREGATE) og derefter INDEX (RANGE SCAN) og derefter i kolonnen OBJECT_NAME viser den TICKER_IDX1, som er navn på et indeks på mit bord.

Så du kan se via kolonnen OBJECT_NAME, hvilke indekser der bruges.

Det kan ske, at Oracle Cost Based Optimizer vælger en suboptimal eksekveringsplan. Mange gange vil opdatering af statistik løse problemet. Andre valg er at tilføje yderligere indekser, med andre ord et indeks med flere kolonner. Du kan antyde en SQL-sætning, men det er sjældent nødvendigt. Det er også muligt at omskrive forespørgslen.



  1. Forbind SQL Server til HubSpot CRM

  2. Sådan konverteres String Case i PostgreSQL

  3. Hvordan håndterer man en Empty IN-klausul inde i en SQL Select Statement (IBatis 2)?

  4. Skal udføre en sql-forespørgsel mod to Oracle DB'er i shell-script ad gangen og eksportere dataene til separate csv-filer