加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

性别字段为什么不适合建索引-详解篇

(2019-03-17 19:33:40)
标签:

索引

性别加索引

it

分类: mysql技术
推荐职业资格考试题库:91搜题网

      作为一枚程序猿,相信每个人都知道索引,用过索引,也知道索引的优缺点,了解过哪些字段适合建立索引。但是一问到为什么性别字段不适合建立索引呢?答:因为性别字段重复率高。没错,那这是什么原理?....不太清楚。哈哈,我曾经就是这样回答的。

     好吧,回到正题,说下为什么性别字段不适合建立索引。一张表涉及到三个文件,表结构、数据文件、索引文件。那么,咱们来回顾一下什么是索引,索引是把一个或几个字段按规律排列起来,再附上该字段所在行数据物理地址。例如,我们有个字段是年龄,现在要选取某个年龄段的所有行,那么一般是要扫描全表才能取到满足条件的所有数据。如果这个字段加上索引,那么索引就会按照年龄建一个排列,这样就能迅速定位满足条件的行,不需要全表扫描。

     为什么性别不适合建立索引呢?因为访问索引需要有额外的IO开销,从索引中拿到的只是地址,要想访问到数据还是要对表进行一次IO,假如要从三百万行数据中取几条数据的话,可以迅速定位,但是要想从三百万行数据中取出150W行的数据,那么就要访问150W次索引,再访问150W次数据,加起来的开销并不比全表扫描小。


推荐职业资格考试题库:91搜题网

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有