索引:大幅度提高查詢效率,但會影響增刪改的效率
單列索引
基於單個列所建立的索引
單列索引 create index 索引名 on 表名(列名);
複合索引
基於兩個列或多個列的索引。在同一張表上可以有多個索引,但是要求列的組合必須不同
複合索引 create index 索引名 on 表名(列名1,列名2);
create index idx_emp on emp(ename, job); 觸發索引 select * from emp where ename='WARD' and job='xx'; select * from emp where ename='WARD'; 不觸發索引 select * from emp where job='xx'; select * from emp where ename='WARD' or job='xx';
補充
模糊查詢不會觸發單列索引
複合索引觸發必須有優先檢索列(第一列)
主鍵約束和唯一約束會自帶同名索引,不能刪除。自己創建的可以刪除
如果要刪除主鍵約束和唯一約束自帶的索引,就必須把對應約束刪掉