我不是 DBA 部落的血统成员,而是更多的开发部落,我发现自己试图找出一些运行缓慢的查询。
然而,我的问题不是“为什么我的查询很慢”,而是想知道 MySql 中的“LIMIT”命令是如何工作的。
目前,我仍在尝试对服务器性能本身进行故障排除,因此作为一种给它一点 SQL 来咀嚼的方式(只是为了让它做一些工作),我正在使用以下内容:
SELECT * FROM <table> LIMIT 10
我正在使用的表是一个活表,其中有超过 5000 万行,因为我目前只进行测试,所以我的期望是这将返回表顶部的前 10 条记录,并且很容易在 10 分钟内完成。
然而...
我看到这个 SQL 在 30 分钟或更长时间后仍在运行,并且似乎什么也没做。
我想具体澄清的是:
MySql 是否尝试从数据库中获取整个表,然后才返回前 10 行
或者
MySql 是否在接收到行时获取行并在它计数收到 10 行后停止
干杯肖蒂