一.MySQL索引
索引是为了加速对表中数据行的检索而创建的一种分散存储的数据结构。
MySQL5.5之前的版本,默认的存储引擎是MyISAM,5.5以后默认的存储引擎是InnoDB。存储引擎是由第三方公司提供的一个插拔式的插件(是每个公司都要实现的一套标准)的方式来使用的。存储引擎都是定义到表结构上面的,可以在一个库里面定义多种存储引擎,每个表可以使用不同的存储引擎。索引机制就是由这些插拔式的存储引擎来实现的。
MySQL调优是一个系统工程,包括很多方面,而索引是非常重要非常基础的一个环节。正确的创建合适的索引是提升数据库查询性能的基础。
二.使用索引的好处:
1.关系型数据库的索引一般都是硬盘级的索引,比如,一个十几个字段的表,2000万数据的表,他的索引占用内存就可以达到1-2G,所以把所有的索引放到内存中是很不现实的,而使用索引能极大的减少存储引擎需要扫描的数据量;
2.索引可以把随机IO变成顺序IO;
3.索引可以帮助我们在进行分组、排序等操作时,避免使用临时表。
三。MySQL数据存储的顺序:
数据库表行中数据的物理顺序与键值的逻辑(索引) 顺序相同,可以认为InnoDB是以聚集索引来组织数据的存储的。在叶子节点中存储了所有的数据信息。
MySQL里面除了主键索引,其他的都是非聚集索引。
四。辅助索引
辅助索引在叶子节点保存了主键索引的值,如果用辅助索引查找,他会一直查找到主键索引的值,然后再基于主键索引去查找叶子节点的所有数据。这样设计的目的是,InnoDB认为主键是最常用的查询条件&#
mysql-影响MySQL索引的因素
最新推荐文章于 2022-07-08 10:29:04 发布