PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

W jaki sposób podejmowane są decyzje dotyczące skanowania sterty bitmapowej i skanowania indeksu?

Ile łącznie masz wierszy w tabeli? Decyzja zależy od tego, jaka część wierszy zostanie wyprowadzona przez skanowanie indeksu.

Jeśli dostęp do wystarczająco dużej części tabeli ma zostać uzyskany, stosuje się skanowanie indeksu bitmapy, aby zapewnić, że jak najwięcej dostępu do dysku jest sekwencyjne. W przeciwieństwie do tego zwykłe skanowanie indeksu zapewnia losowy dostęp do danych w tabeli jedna po drugiej stronie. (A jeśli proporcja przewidywanej tabeli, do której można uzyskać dostęp, jest wystarczająco wysoka, indeks w ogóle nie jest używany, a całe dane tabeli są ładowane sekwencyjnie)

Jedną z kwestii jest to, że prognoza liczby wierszy z tabeli, do których będzie można uzyskać dostęp, jest tylko szacunkiem. Ale jak możesz sobie wyobrazić, „IT%” prawdopodobnie pasuje do więcej niż „ITQ%” (pamiętaj, że sufiks nie jest częścią skanowania indeksu, tylko końcowy filtr)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. postgres hstore istnieje i nie istnieje w tym samym czasie

  2. Jak spłaszczyć wynik PostgreSQL

  3. Nie znaleziono identyfikatora transakcji Postgresql

  4. Jak uzyskać czas tworzenia bazy danych w PostgreSQL 9.0?

  5. Postgres Interval Spring Data Dynamic Parametr nie działa