sql >> Database >  >> RDS >> Oracle

Hoe de Y/N-kolom in Oracle te indexeren

Wat is de J/N-verhouding? Worden de records bijgewerkt zodat ze van J/N en/of N/Y gaan? Zo ja, gebeurt dit regelmatig (bijv. op voorraad/niet op voorraad/op voorraad/uitverkocht op voorraad) of als eenmalig (onbewerkt/verwerkt) ?

Als de ingangen door elkaar worden gehaald en je hebt een gelijkmatige verhouding, dan is het onwaarschijnlijk dat een index helpt.

Je zou partitionering kunnen gebruiken (als je de licentie hebt) om Y van N te splitsen. Gematerialiseerde weergaven of de tabel een UNION ALL-weergave over twee tabellen maken (misschien met IN PLAATS VAN triggers) zou Y ook van N kunnen splitsen. Al deze zullen leiden tot een boete om de verwerking bij te werken.

Een bitmapindex kan geschikt zijn als de kolom niet veel update-activiteit krijgt.

Je zou een functiegebaseerde index kunnen hebben op CASE WHEN flag ='Y' en dan 'Y' end. Dat zou N-waarden uitsluiten van de index, waardoor deze een stuk kleiner wordt.



  1. CAST en IsNumeric

  2. Verwijder alle nuldatums uit de MySQL-database voor alle tabellen

  3. Opgeslagen procedure doorgeven van SQL Server naar gekoppelde ORACLE-server

  4. Is het mogelijk om kolomgegevens naar beneden te schuiven in een MySQL-tabel?