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

Hvor mange indekser kan forespørgslen bruge i en enkelt SQL-forespørgsel fra en enkelt tabel?

Det er muligt, at alle tre kunne bruges. Det er ikke særlig sandsynligt, at Oracle ville bruge alle tre, eller at det ville være gavnligt at bruge alle tre, men det er muligt.

Den enkleste måde for Oracle at bruge alle tre indekser på ville være, hvis vi talte om bitmap-indekser, som er designet til at blive kombineret, men som egentlig kun er passende i data warehouse/DSS-situationer, ikke OLTP-systemer. Det er også muligt, at Oracle kunne lave en on-the-fly-konvertering af et "standard" b-tree-indeks til et bitmap-indeks for at gøre den samme kombination af indekser i et OLTP-system, men det er generelt ikke særlig effektivt.

Det meste af tiden, hvis du forsøger at oprette passende indekser til at justere en forespørgsel i et OLTP-system, vil du gerne bygge et enkelt sammensat indeks i stedet for at oprette separate enkeltkolonneindekser, hvis der er flere kolonner, som du vil filtrere / slutte sig til.




  1. Hvornår skal databasesynonymer bruges?

  2. Hvordan kan jeg tilføje en kolonne til en arbejdstabel ved hjælp af en ny lagret procedure

  3. MySql mysql.h-fil blev ikke fundet i VS2008 C++ <Begynderspørgsmål>

  4. SQL :Brug af måltabellen i en UPDATE-sætning i en indlejret FROM-sætning