我意识到使用phpMyAdmin来测试查询的速度可能会很愚蠢:它会自动应用LIMIT
子句。
我使用GROUP BY
子句对相当多的记录(31,595)尝试了某个查询。 phpMyAdmin,添加LIMIT 0, 200
,花了0.1556秒来获取结果。
我决定在没有LIMIT
子句的情况下从命令行尝试相同的查询,花了0.20秒。很好,所以现在我有了查询所需的实时时间。
但缺点是我不得不等待30,000多条记录在屏幕上打印。
有更好的解决方案吗?
编辑:
为了澄清,我正在寻找一种方法来抑制选择查询的屏幕输出,同时仍然获得运行查询的准确时间。而且我希望它可以随时输入和定时(即我不想调整slow log
设置来捕获结果)。
答案 0 :(得分:2)
您可以将查询括在SELECT COUNT(1)
中以计算返回的行数,而不会打印出所有行:
SELECT COUNT(1)
FROM (
<<you query goes here>>
) t;
答案 1 :(得分:1)
我想你真正想要的是获得最佳的查询速度,而不是真正的时间。
如果是这种情况,请在phpMyAdmin中键入您的查询(添加LIMIT子句并不重要)然后单击“Explain SQL”链接以查看您是使用索引还是全表扫描。
答案 2 :(得分:0)