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

Sådan indekseres Y/N kolonne i Oracle

Hvad er J/N-forholdet? Opdateres registreringer, så de går fra J/N og/eller N/J? Hvis ja, sker dette regelmæssigt (f.eks. på lager/ikke-på-lager/på-lager/ud- på lager) eller som en enkelt gang (uforarbejdet/forarbejdet)?

Hvis posterne er blandet rundt, og du har et lige-ish-forhold, er det usandsynligt, at et indeks hjælper.

Du kan bruge partitionering (hvis du har licensen) til at opdele Y fra N. Materialiserede visninger eller gøre tabellen til en UNION ALL-visning over to tabeller (måske med I STEDET FOR triggere) kunne også opdele Y fra N. Alle disse vil medføre en straf for at opdatere behandlingen.

Et bitmapindeks kan være passende, hvis kolonnen ikke får meget opdateringsaktivitet.

Du kunne have et funktionsbaseret indeks på CASE WHEN flag ='Y' og derefter 'Y' slut. Det ville udelukke N-værdier fra indekset, hvilket gør det meget mindre.



  1. Hvordan importerer jeg en .sql-fil i mysql-databasen ved hjælp af PHP?

  2. Konverter rå SQL-forespørgsel til Laravel Eloquent

  3. MySQL INSERT eller REPLACE kommandoer

  4. Hvordan kan jeg få emacs sql-mode til at bruge mysql-konfigurationsfilen (.my.cnf)?