热门

最新

红包

立Flag

投票

同城

我的

发布
as4589sd
阿啄debugIT
5 年前
trueas4589sd

为什么我们添加完索引后查询速度会变快?

①传统的查询方法,是按照表的顺序遍历的,不论查询几条数据,mysql需要将表的数据从头到尾遍历一遍
②在我们添加完索引之后,mysql一般通过BTREE算法生成一个索引文件,在查询数据库时,找到索引文件进行遍历(折半查找大幅查询效率),找到相应的键从而获取数据。

索引的代价

①创建索引是会产生索引文件的,占用磁盘空间
②索引文件是一个二叉树类型的文件,可想而知我们的dml(增删改)操作同样也会对索引文件进行修改,所以性能会下降

在哪些column上使用索引?

①较频繁的作为查询条件的字段应该创建索引
②唯一性太差的字段不适合创建索引(例如gender性别字段,尽管频繁作为查询条件)
③更新非常频繁的字段不适合作为索引
④不会出现在where子句中的字段不该创建索引

CSDN App 扫码分享
分享
评论
9
打赏
  • 复制链接
  • 举报
下一条:
今日出图
立即登录