sql >> Database >  >> RDS >> Oracle

Hoeveel indexen kan de query in een enkele SQL-query uit een enkele tabel gebruiken?

Het is mogelijk dat ze alle drie kunnen worden gebruikt. Het is niet bijzonder waarschijnlijk dat Oracle alle drie zou gebruiken, of dat het nuttig zou zijn om alle drie te gebruiken, maar het is mogelijk.

De eenvoudigste manier voor Oracle om alle drie de indexen te gebruiken, zou zijn als we het hadden over bitmapindexen, die zijn ontworpen om te worden gecombineerd, maar die eigenlijk alleen geschikt zijn in datawarehouse-/DSS-situaties, niet in OLTP-systemen. Het is ook mogelijk dat Oracle een on-the-fly conversie van een "standaard" b-tree-index naar een bitmapindex zou kunnen doen om dezelfde combinatie van indexen in een OLTP-systeem te doen, maar dat is over het algemeen niet erg efficiënt.

Als u probeert de juiste indexen te maken om een ​​query in een OLTP-systeem af te stemmen, wilt u meestal een enkele samengestelde index bouwen in plaats van afzonderlijke indexen met één kolom te maken als er meerdere kolommen zijn die u wilt filteren / doe mee.




  1. SQL Server Express versus express localdb

  2. GROUP BY vs ORDER BY

  3. Maanden tussen twee datums

  4. Operand moet 1 kolom bevatten - MySQL NIET IN