索引:
优势:在数据表中有海量数据时能帮助快速查询记录。
劣势:索引本身也是一张表,占用磁盘空间,当进行update insert delete操作时耗时更长,因为需要维护索引表
索引的分类:
单值索引:依赖单个列建立的索引,一张表可以有多个单值索引;
唯一索引:索引列的值必须唯一,允许出现NULL
复合索引:一个索引依赖表的多个列
全文索引:只有在myisam的引擎上才能使用,只能在char,varchar,text类型字段上建立索引;
空间索引:对空间数据类型字段建立的索引;
索引操作:
创建:create index index_name on table(列名1,列名2);
删除:drop index index_name on table_name;
查看:show index from table_name;
自动创建索引:当表定义了主键时会自动创建对应的唯一索引;
当表定义了外键时,会自动创建普通索引;
explain:分析语句
explain select * from emp where id = 1 \G;
的结果中如果key为NULL,表示本次执行没有依赖索引查询。
常见的创建索引的场景:
1.主键自动创建唯一索引;
2.频发作为查询条件的字段;
3.与其他表中建立外键的字段;
4.where条件后不会跟的字段不用创建索引;
5.频发更新的字段不适合创建索引;
6.排序字段和分组字段适合创建索引。
mysql----索引
猜你喜欢
转载自blog.csdn.net/shen_chengfeng/article/details/103844894
今日推荐
周排行