PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Hiểu chỉ mục bitmap trong postgresql

Bản đồ bit của các trang được tạo động cho mỗi truy vấn. Nó không được lưu vào bộ nhớ cache hoặc được sử dụng lại và bị loại bỏ khi kết thúc quá trình quét chỉ mục bitmap.

Không hợp lý khi tạo trước bitmap của trang vì nội dung của nó phụ thuộc vào các vị từ truy vấn .

Giả sử bạn đang tìm kiếm x=1 and y=2 . Bạn có các chỉ mục b-tree trên xy . PostgreSQL không kết hợp xy vào một bitmap sau đó tìm kiếm bitmap. Nó quét chỉ mục x cho địa chỉ trang của tất cả các trang có x=1 và tạo một bitmap trong đó các trang có thể chứa x=1 là sự thật. Sau đó, nó quét y tìm kiếm địa chỉ trang tại đó y có thể bằng 2 , tạo một bitmap từ đó. Sau đó, nó VÀ chúng để tìm các trang có cả x=1y=2 có thể đúng. Cuối cùng, nó tự quét bảng, chỉ đọc các trang có thể chứa các giá trị ứng cử viên, đọc từng trang và chỉ giữ lại các hàng có x=1 and y=2 .

Bây giờ, nếu bạn đang tìm kiếm thứ gì đó giống như một chỉ mục bitmap được tạo sẵn trong bộ nhớ cache, thì có một thứ như vậy trong PostgreSQL 9.5: Chỉ mục BRIN . Chúng dành cho các bảng rất lớn và cung cấp một cách để tìm các phạm vi của bảng có thể bị bỏ qua vì chúng được biết là không chứa giá trị mong muố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. Làm cách nào để tạo người dùng postgresql bằng vải

  2. Chuyển thủ tục Oracle sang PostgreSQL

  3. Sequelize hasMany, ThuộcTo, hay cả hai?

  4. Để hiểu các truy vấn trong PHP trạng thái chuẩn bị trước PG

  5. Bảng cắt ngắn Postgresql với ràng buộc khóa ngoại