Mysql的IO操作:
mysql接收到请求后,会有查询器进行评估,当全表扫描消耗的io小时会进行全表扫描而不使用索引(mysql8.0),如果表的大小超过了系统内存怎么办?mysql是按页或者按块进行读取匹配,并按需加载到内存中,如果快满时,旧的数据会被新的数据替换。
那么如果是使用索引的情况下,只需要加载索引就好了,因为mysql的默认存储引擎为InnoDB使用的是B+Tree结构,简单理解,二级索引的叶子节点保存对应主键(聚簇索引),聚簇索引的叶子节点下保存着行数据。
mysql接收到请求后,会有查询器进行评估,当全表扫描消耗的io小时会进行全表扫描而不使用索引(mysql8.0),如果表的大小超过了系统内存怎么办?mysql是按页或者按块进行读取匹配,并按需加载到内存中,如果快满时,旧的数据会被新的数据替换。
那么如果是使用索引的情况下,只需要加载索引就好了,因为mysql的默认存储引擎为InnoDB使用的是B+Tree结构,简单理解,二级索引的叶子节点保存对应主键(聚簇索引),聚簇索引的叶子节点下保存着行数据。