一、索引的概念
索引就是在表的列上构建一个二叉树,打到大幅度提高查询效率的目的,但是索引会影响增删改的效率。
二、单列索引
create index idx_name --索引名称 on sys_users(name) --为sys_users表的name列添加索引。
单行索引触发规则,查询条件必须是索引列中的原始值。如 select * from sys_users where name = '张三'
单行函数,模糊查询,都会影响索引的触发。
三、复合索引
create index idx_namedept --索引名称 on sys_users(name,dept) --给sys_users 创建name,dept符合索引。
符合索引中第一列为优先检索列,如果要触发复合索引,必须包含有优先检索列中的原始值。
select * from sys_users where name = '张三' and dept = '董事会' ,该查询在以上创建的两个索引都存在的情况下,触发复合索引。
select * from sys_users where name = '张三' ,该查询在以上创建的两个索引都存在的情况下,触发单列索引。
select * from sys_users where name = '张三' or dept = '董事会' ,该查询在以上创建的两个索引都存在的情况下,不触发索引。