Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 查询获取1781s-_Php_Mysql - Fatal编程技术网

Php 查询获取1781s-

Php 查询获取1781s-,php,mysql,Php,Mysql,我花了很长时间试图弄清楚为什么这个查询会杀死我的服务器: # Query_time: 1781.559941 Lock_time: 0.000060 Rows_sent: 0 Rows_examined: 7576453128 SET timestamp=1460479284; SELECT r.user FROM questions q, results r WHERE r.user = 0 AND r.user=q.user GROUP BY q.user LIMIT 1; 结果中有9

我花了很长时间试图弄清楚为什么这个查询会杀死我的服务器:

# Query_time: 1781.559941  Lock_time: 0.000060 Rows_sent: 0  Rows_examined: 7576453128
SET timestamp=1460479284;
SELECT r.user
FROM questions q, results r
WHERE r.user = 0
AND r.user=q.user
GROUP BY q.user
LIMIT 1;
结果
中有9891888条记录,而
问题
中可能有7000条记录

在我看来这毫无意义


我在两个表中的
user
上都设置了索引。

当您刚刚获取
r.user
时,这个查询究竟是为了什么?在我看来,您可以通过
内部联接获得相同的结果

当您仅获取
r.user
时,此查询的确切目的是什么?在我看来,您可以通过
内部联接获得相同的结果

我会试试这个。。。但是你应该试着看看解释计划。我认为GROUPBY可能会导致速度减慢,所以我将其去掉并使用正常的连接语法。还可能需要查看大表上索引的运行状况,并确保它没有碎片化(尝试重新构建)


我想试试这个。。。但是你应该试着看看解释计划。我认为GROUPBY可能会导致速度减慢,所以我将其去掉并使用正常的连接语法。还可能需要查看大表上索引的运行状况,并确保它没有碎片化(尝试重新构建)

HTH

尝试此查询:

SELECT `user` FROM `questions` 
INNER JOIN `results` 
ON `user`.`user`=`results`.`user` 
WHERE `user`.`user` = 0 
GROUP BY `user`.`user` 
LIMIT 1;
如果不起作用,您可以为表格用户编写创建表格和问题吗?

尝试以下查询:

SELECT `user` FROM `questions` 
INNER JOIN `results` 
ON `user`.`user`=`results`.`user` 
WHERE `user`.`user` = 0 
GROUP BY `user`.`user` 
LIMIT 1;

如果不起作用,您可以为表格用户编写创建表格和问题吗?

使用“打开”连接两个表并检查执行查询所需的时间o您花了多少时间对此查询进行解释,以了解MySQL是如何执行的?性能问题应包括
EXPLAIN ANALYZE
以及有关表大小、索引、当前时间性能、期望时间、,等等。
Slow
是一个相对术语,我们需要一个实际值进行比较。哪些列有索引?推广使用explict
JOIN
sintaxis,Aaron Bertrand写了一篇很好的文章连接两个表并检查执行查询所需的时间o您花了多少时间对此查询进行解释,以了解MySQL是如何执行的?性能问题应包括
EXPLAIN ANALYZE
以及有关表大小、索引、当前时间性能、期望时间、,等等。
Slow
是一个相对术语,我们需要一个实际值进行比较。哪些列有索引?推广explict
JOIN
sintaxis的使用,Aaron Bertrand写了一篇很好的文章。