我的用户表没有很多行。。。但是。😏
同一查询的查询计划是否会随着表的增长而改变?
也就是说,要查看我的应用程序将如何扩展,我是否应该在使用users
之前在EXPLAIN
表中植入数十亿行?
最佳答案
估计行数可能是影响查询计划选择的最重要因素。
支持这一点的两个例子:
如果对表的索引列使用WHERE
条件,可能会发生三种情况:
如果表很小或很高百分比的行与条件匹配,则将使用顺序扫描来读取整个表并筛选出与条件匹配的行。
如果表很大,且行的百分比较低,则将使用索引扫描。
如果表很大,并且有中等百分比的行符合条件,则将使用位图索引扫描。
如果联接两个表,表上的估计行数将确定是否选择嵌套循环联接。