MySQL之聚簇索引
来源:互联网 发布:淘宝如何设置分享有赏 编辑:程序博客网 时间:2024/05/16 15:00
通过聚簇索引得到的三个建议:
1,每个InnoDB的表有一个特殊的索引:聚簇索引,存储了行的数据。通常聚簇索引就是指的主键索引,即InnoDB会用有主键的每张表的主键PRIMARY KEY创建聚簇索引,索引的每个节点保存了行数据,如果没有PRIMARY KEY主键,InnoDB则选择第一个UNIQUE NOT NULL的键用作创建聚簇索引,如果UNIQUE NOT NULL的键也没用,则 InnoDB
在包含行ID值的合成列上内部生成隐藏的聚簇索引,行按照InnoDB
分配给此类表中的行ID进行排序 。行ID是一个6字节的字段,随插入新行而单调增加。因此,行ID排序的行在物理上是插入顺序。所以,第一个建议:每张表都加上PRIMARY KEY主键!
2,通过聚簇索引访问行的速度很快,因为访问聚簇索引的节点直接可以获取到行数据,如果表格很大,聚簇索引通常会直接保存到磁盘通过I/O读取。所以,第二个建议:每张表的定义不要太大!
3,除聚簇索引之外的所有索引都称为 辅助索引。在InnoDB中
,辅助索引中的每个记录都包含该行的主键列以及为辅助索引指定的列(即创建索引时指定的列)。 InnoDB
使用此行中的主键值搜索聚簇索引中的行。如果主键长,则辅助索引使用更多的空间,因此有一个较短的主键是有利的。所以,建议三:主键不要太长,在保证唯一的情况下应尽量短!
参考mysql-5.7官网文档:https://dev.mysql.com/doc/refman/5.7/en/innodb-index-types.html
阅读全文
0 0
- mysql索引原理之聚簇索引
- mysql索引原理之聚簇索引
- mysql索引原理之聚簇索引
- mysql之聚簇索引
- MySQL之聚簇索引
- 【学习笔记】mysql索引原理之聚簇索引
- 高性能MySQL之--聚簇索引
- [MySQL] 聚簇索引
- Mysql-聚簇索引
- mysql 聚簇索引
- MySQL-聚簇索引
- 【MySql】MySql之索引
- MySQL索引之组合索引
- MySQL索引之单列索引
- mysql索引之聚集索引
- mysql索引之聚集索引
- MySQL索引之主键索引
- MySQL 聚簇索引 和 非聚簇索引
- 百练_3703:寻找平面上的极大点
- jquery validation纪要,我们的好伴侣
- RecyclerView使用解析
- poj2185 Milking Grid(二维KMP+最小覆盖矩阵)
- poi+ajax之代码无误却无法导出文件
- MySQL之聚簇索引
- 大数据分析工具的意义:挖掘数据发挥价值
- C#中Struct与Class的区别
- 栈 学习笔记&&总结
- 能看懂这10个JavaScript难点的程序员运气不会太差
- Learning Spark笔记11-加载保存数据
- python入门
- MyEclipse导入项目jsp报错
- codeforces B. Petya and Exam (模拟)