索引(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%'``√`**