sql >> Databasteknik >  >> RDS >> Oracle

Hur många index kan frågan använda i en enda SQL-fråga från en enda tabell?

Det är möjligt att alla tre skulle kunna användas. Det är inte särskilt troligt att Oracle skulle använda alla tre, eller att det skulle vara fördelaktigt att använda alla tre, men det är möjligt.

Det enklaste sättet för Oracle att använda alla tre indexen skulle vara om vi pratade om bitmappsindex, som är designade för att kombineras, men som egentligen bara är lämpliga i datalager/DSS-situationer, inte OLTP-system. Det är också möjligt att Oracle kan göra en omvandling av ett "standard" b-tree-index till ett bitmappsindex för att göra samma kombination av index i ett OLTP-system, men det är i allmänhet inte särskilt effektivt.

För det mesta, om du försöker skapa lämpliga index för att ställa in en fråga i ett OLTP-system, vill du bygga ett enda sammansatt index istället för att skapa separata enkolumnsindex om det finns flera kolumner som du vill filtrera / gå med på.




  1. MySQL unikt 1500 varchar-fältfel (#1071 - Angiven nyckel var för lång)

  2. Om installationen av pg gem misslyckades, kan mkmf.rb inte hitta header-filer för ruby ​​(Mac OSX 10.6.5)

  3. Lär dig hur du importerar Excel-data till en MySQL-databas

  4. Hur man optimerar användningen av ELLER-satsen när den används med parametrar (SQL Server 2008)