首页 > 代码库 > Mysql的索引
Mysql的索引
首先,表一下索引的好处。在大数据集上,不加索引直接查询结果的时间消耗要远远大于在索引上查询。索引就好比是一本书的目录。
索引是一种特殊的文件(InnoDB数据表上索引是表空间的一个组成部分)。他们包含着对数据表里面所有记录的引用指针。举个例子,比如查询主键id = 2000000的记录。
SELECT * FROM article WHERE id=2000000
如果没加索引那么就会很爆炸,一般数据库默认都会为主键生成索引。
聚簇索引、非聚簇索引
索引分为聚簇索引和非聚簇索引两种,聚簇索引是按照数据存放的物理位置为顺序的:能够提高多行的检索速度;而非聚簇索引对于单行的索引检索很快。
举例来说,你翻到新华字典的汉字“爬”那一页就是P开头的部分,这就是物理存储顺序(聚簇索引);而不用你到目录,找到汉字“爬”所在的页码,然后根据页码找到这个字(非聚簇索引)。
聚簇索引的唯一性:因为表结构的存储顺序只能有一个,所以物理存储只能有一个顺序。显然,这让聚簇索引变得贼拉珍贵,很关键哟。。。。
初学者最大的误区:把主键自动设为聚簇索引。 主键可以是聚簇索引,但是如果主键无意义的自增字段,那么我们就可以简历自己想要的聚簇索引。
Mysql的索引
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。