Tôi đã cố gắng để có được sqlite để sử dụng một chỉ mục với một không có avail. Ive đã thử nocase collate và vẫn không có may mắn. Bất cứ ai cũng có bất kỳ ý tưởng về làm thế nào để có được sqlite để làm một giống như đánh một chỉ mục. Cảm ơn trướcsqlite không sử dụng chỉ mục giống như truy vấn
DROP TABLE IF EXISTS "test";
DROP TABLE IF EXISTS "test2";
DROP TABLE IF EXISTS "test3";
create table test(name TEXT COLLATE NOCASE);
create table test2(name TEXT);
create table test3(name TEXT);
create index idx_test_name on test(name);
create index idx_test2_name on test2(name);
create index idx_test3_name on test3(name COLLATE NOCASE);
insert into test(name) values('dan');
insert into test2(name) values('dan');
insert into test3(name) values('dan');
--explain query plan select * from test where name like 'test%'
-- explain query plan select * from test2 where name like 'test%'
-- explain query plan select * from test3 where name like 'test%'
Có chỉ mục không đảm bảo chỉ mục sẽ không được sử dụng. –