sql >> Databasteknik >  >> RDS >> Oracle

Hur man indexerar Y/N-kolumnen i Oracle

Vad är J/N-förhållandet? Uppdateras poster så att de går från J/N och/eller N/Y? Om så är fallet, händer detta regelbundet (t.ex. i lager/ej i lager/i lager/out- i lager) eller som engångsföreteelse (obearbetad/bearbetad) ?

Om posterna är blandade och du har ett jämnt förhållande är det osannolikt att ett index hjälper.

Du kan använda partitionering (om du har licensen) för att dela upp Y från N. Materialiserade vyer eller göra tabellen till en UNION ALL-vy över två tabeller (kanske med ISTADEN FÖR utlösare) kan också dela Y från N. Alla dessa kommer att medföra en straffavgift för att uppdatera bearbetningen.

Ett bitmappsindex kan vara lämpligt om kolumnen inte får mycket uppdateringsaktivitet.

Du kan ha ett funktionsbaserat index på CASE WHEN flagga ='Y' och sedan 'Y' slut. Det skulle utesluta N-värden från indexet vilket gör det mycket mindre.



  1. Hur kommer en utlovad mysql-modul att fungera med NodeJS?

  2. Hur man berättar när en Postgres-tabell klustrades och vilka index som användes

  3. Hur REPLICATE()-funktionen fungerar i SQL Server (T-SQL)

  4. Skickar flera värden i en enda parameter