Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak indeksować kolumnę T/N w Oracle?

Jaki jest stosunek T/N? Czy rekordy są aktualizowane w taki sposób, że zaczynają się od T/N i/lub N/T? Jeśli tak, to czy dzieje się to regularnie (np. w magazynie/niedostępny/w magazynie/nie- w magazynie) lub jako jednorazowy (nieprzetworzony/przetworzony)?

Jeśli wpisy są pomieszane i masz równy stosunek, indeks raczej nie pomoże.

Możesz użyć partycjonowania (jeśli masz licencję), aby podzielić Y od N. Widoki zmaterializowane lub uczynienie tabeli widokiem UNION ALL na dwie tabele (być może z wyzwalaczami INSTEAD OF) również mogą podzielić Y od N. Wszystko to wiąże się z karą za aktualizację przetwarzania.

Indeks bitmapowy może być odpowiedni, jeśli kolumna nie jest zbyt aktywna podczas aktualizacji.

Możesz mieć indeks funkcji oparty na flagi CASE WHEN ='Y', a następnie 'Y' end. To wykluczyłoby wartości N z indeksu, czyniąc go znacznie mniejszym.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pobieranie danych wyjściowych z dbms_output.get_lines za pomocą JDBC

  2. ora-00972 identyfikator jest za długi oracle 10g

  3. Wywoływanie funkcji Oracle z SQL Server Linked Server

  4. Przeanalizuj tabelę HTML za pomocą Oracle

  5. Jak połączyć grupę rekordów w Oracle?