Lập chỉ mục tự động đã được giới thiệu trong sqlite 3.7.17. Phiên bản sqlite với tính năng này chỉ được đưa vào bản xem trước dành cho nhà phát triển Android L. Đây là lý do tại sao bạn chỉ nhận được tin nhắn trên Lollipop mà không phải sớm hơn. Ngay cả khi nó được ghi là một lỗi, nó thực sự chỉ là một thông báo.
Về cơ bản, lập chỉ mục tự động phát huy tác dụng khi bạn thực hiện tra cứu trên các cột không được lập chỉ mục. sqlite giả định rằng có quá nhiều dữ liệu nên việc tạo chỉ mục tạm thời sẽ rẻ hơn so với tra cứu thô.
Xem xét việc thêm các chỉ số rõ ràng, cố định cho các cột tra cứu của bạn với CREATE INDEX
. Ví dụ:sau CREATE TABLE
của bạn :
CREATE INDEX indexname ON tablename(columnname);
nơi bạn có thể chọn tablename(columnname)
từ các thông báo autoindex do sqlite tạo ra.
Nếu bạn chỉ muốn hoạt động cũ trở lại, bạn có thể tắt tính năng tự động lập chỉ mục với
PRAGMA automatic_index=off;