Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да индексирате Y/N колона в Oracle

Какво е съотношението Y/N? Записите актуализират ли се, така че да преминават от Y/N и/или N/Y? Ако е така, това случва ли се редовно (напр. в наличност/изчерпани/в наличност/изчерпани на склад) или еднократно (необработен/обработен)?

Ако записите са разнопосочни и имате еднакво съотношение, индексът едва ли ще помогне.

Можете да използвате разделяне (ако имате лиценз), за да разделите Y от N. Материализираните изгледи или превръщането на таблицата в UNION ALL изглед върху две таблици (може би с тригери INSTEAD OF) също биха могли да разделят Y от N. Всичко това ще доведе до неустойка за актуализиране на обработката.

Индекс на растерно изображение може да е подходящ, ако колоната не получава много активност за актуализиране.

Можете да имате базиран на функция индекс на CASE WHEN флаг ='Y' и след това 'Y' край. Това би изключило N стойности от индекса, което го прави много по-малък.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. изтекъл период на изчакване. всички обединени връзки бяха използвани и максималния размер на пула беше достигнат

  2. Намерих неизвестен символ на релационна диаграма в Oracle SQL Developer

  3. SQL грешка - тригерът/функцията може да не го види

  4. Създайте тригер, който актуализира колона в една таблица, когато колона в друга таблица се актуализира

  5. Какво е точното значение на наличието на условие като where 0=0?