- Phương thức truy cập chỉ mục (IAM) chuyên cho PostgreSQL được thiết kế để xử lý nhanh các truy vấn chuỗi có nhiều ký tự đại diện
- Khắc phục những hạn chế của
pg_trgm, nơi việc truy cập heap không cần thiết và suy giảm hiệu năng xảy ra về mặt cấu trúc
- Sử dụng Bitmap Position Index dựa trên ký tự và vị trí để lọc chính xác các kết quả ứng viên bằng phép toán bitmap trong bộ nhớ
- Không cần heap recheck cho kết quả tìm kiếm, loại bỏ I/O ngẫu nhiên không cần thiết
- Thông qua cấu trúc chỉ mục hai chiều (positive / negative) lập chỉ mục cho cả vị trí đầu và cuối của chuỗi, xử lý hiệu quả các mẫu prefix, suffix và substring
- Tách riêng bên trong đường chỉ mục chuyên cho ILIKE nhằm hỗ trợ tìm kiếm không phân biệt chữ hoa chữ thường, đảm bảo đồng thời độ chính xác và hiệu năng
- Được thiết kế để không chỉ xử lý một cột mà còn xử lý điều kiện LIKE trên nhiều cột bằng một chỉ mục duy nhất
- Phân tích độ chọn lọc của mẫu trên từng cột và tự động sắp xếp lại thứ tự thực thi
- Cung cấp kết quả tìm kiếm xác định, không phát sinh false positive ngay cả với các mẫu phức tạp trộn lẫn
% và _
- Bỏ qua các bước sắp xếp không cần thiết ngay cả trong các truy vấn tổng hợp như COUNT, EXISTS để cải thiện tốc độ xử lý
- Triển khai dựa trên Roaring Bitmap (CRoaring), tự động tối ưu việc sử dụng bộ nhớ theo mật độ dữ liệu
- Không hỗ trợ trực tiếp ORDER BY, nhưng kết hợp tự nhiên với planner để việc sắp xếp chỉ diễn ra sau khi tập kết quả đã được thu nhỏ
- Thay vì hỗ trợ regex, tìm kiếm độ tương đồng hay collation dựa trên locale, đây là thiết kế tập trung vào hiệu năng chuyên biệt cho LIKE / ILIKE
Chưa có bình luận nào.