我正在阅读 MySql 索引优化的文档。
我找到了一个设置 --max-seeks-for-key=1000 。我在这里检查了 MySQL 的“服务器系统变量” 。
根据它
“通过将其设置为较低的值(例如,100),您可以强制 MySQL 更喜欢索引而不是表扫描”
.
我从 FULL TABLE SCAN 中了解到的是:
当查询需要访问大部分行时,顺序读取比通过索引更快。即使查询不需要所有行,顺序读取也可以最大限度地减少磁盘寻道。
因此,如果 MySQL 正在执行最小化磁盘搜索的全表扫描,为什么要使用 --max-seeks-for-key=1000 来选择可能增加磁盘搜索的索引扫描。
在文档8.3.1.20 How to Avoid Full Table Scan中,它被提及为避免全扫描的一个步骤: Start mysqld with the --max-seeks-for-key=1000
所以我很想知道 --max-seeks-for-key 是否有任何实际和有意义的用途。