2013-12-11 14 views
7

Khi sử dụng EXPLAIN QUERY PLAN trong SQLite 3 đôi khi nó mang lại cho tôi kết quả nhưChỉ số bao gồm tự động là gì?

SEARCH TABLE staff AS s USING AUTOMATIC COVERING INDEX (is_freelancer=? AND sap=?) (~6 rows) 

đâu chỉ số đến từ đâu và nó làm gì? Bảng không có chỉ mục được tạo theo cách thủ công trên bảng.

Trả lời

9

"Tự động" có nghĩa là SQLite tạo chỉ mục tạm thời chỉ được sử dụng cho truy vấn này và sau đó bị xóa.

Điều này xảy ra khi chi phí tạo chỉ mục được ước tính nhỏ hơn chi phí tra cứu các bản ghi trong bảng mà không có chỉ mục.

(A covering index là chỉ mục chứa tất cả các cột cần đọc, có nghĩa là bản ghi tương ứng với mục nhập chỉ mục không cần phải tra cứu trong bảng.)

Các vấn đề liên quan