我正在负载下测试我的数据库设计,我只需要检索固定数量的行(5000)
我可以指定 LIMIT 来实现此目的,但是查询似乎会构建所有匹配行的结果集,然后仅返回限制中指定的行数。是这样实施的吗?
MySQL 是否可以读取一行,读取另一行,并在检索到第 5000 个匹配行时基本停止?
MySQL 很聪明,如果您指定LIMIT 5000
在您的查询中,可以在不首先生成整个结果集的情况下生成该结果,那么它就不会构建整个结果。
例如,以下查询:
SELECT * FROM table ORDER BY column LIMIT 5000
该查询需要扫描整个table
除非有索引column
,在这种情况下,它会做聪明的事情并使用索引来查找具有最小的行column
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)