MySQL面试问题行数和慢查询

时间:2014-01-26 21:32:20

标签: mysql

我被问到这两个基本的MySQL面试问题:

1) - 如何获取表的行数 回答: 选择模式表中的计数和访问值

采访者:还有另一种方法,它是什么? 我:我不知道

2) - 你有一个很长时间工作的查询然后突然开始 慢,你该怎么办? 回答,使用说明

面试官:还有什么? 我:我不知道

所以这些答案是什么,因为我主要是开发人员而不是mysql管理员。

1 个答案:

答案 0 :(得分:1)

关于第一个问题,我想到的是使用SQL_CALC_FOUND_ROWS。

例如你可以这样做:     SELECT SQL_CALC_FOUND_ROWS * FROM table LIMIT 20;

在该查询之后,您可以获得选择的总行数:     SELECT FOUND_ROWS();

现在这通常不会比COUNT(*)选择快,如果你想使用分页并且需要总行数以及当前页面的结果,它会很方便。

关于第二个问题,我想知道他们是否希望你看看mysql服务器活动。通常,如果过去的查询突然变慢,那可能与发生大量插入或删除活动有关。