索引(INDEX)
# 创建普通索引CREATE INDEX index_name ON table_name(column);# 组合索引CREATE INDEX index_name ON table_name(column1, column2...);# 忽略大小写的索引CREATE INDEX IF NOT EXISTS index_name ON table_name(column, COLLATE NOCASE);# 查看索引.INDICES# 删除索引DROP INDEX index_name;# 检查查询语句是否使用了索引EXPLAIN QUERY PLAN SELECT * FROM table_name WHERE name='zoro';EXPLAIN QUERY PLAN SELECT * FROM table_name WHERE name LIKE 'zoro';EXPLAIN QUERY PLAN SELECT * FROM table_name WHERE name LIKE 'zoro%';EXPLAIN QUERY PLAN SELECT * FROM table_name WHERE name LIKE '%zoro%';
使用LIKE语句进行模糊查询时,索引的使用?
LIKE语句是大小写不敏感的,而索引默认是区分大小写的 因此要想使LIKE语句使用索引,可以通过以下两种方式
查询前开启忽略大小写模式
case_sensitive_like** **PRAGMA case_sensitive_like = ON;# 或PRAGMA case_sensitive_like = 1;
创建索引时指定忽略大小写
COLLATE NOCASE** **
CREATE INDEX index_name ON table_name(column, COLLATE NOCASE);
But, 还需要满足以下条件才能使用索引…
查询字符串左边不能是通配符** `'%name' or '%name%'``×` `'name' or 'name%'``√`**
