mysql - 为什么这会使服务器超时?

标签 mysql sql query-optimization

我在努力奔跑

SELECT id, max(event_date) dt
FROM worker
LEFT JOIN events ON id = attendee
WHERE worker.type='CON'
GROUP BY id;

但是查询花费的时间太长了。有没有办法让它更快?

workerevents 是有点大(10,000 条记录)的一对多表。 (大多数工作人员有 0 个关联事件,但有些有多达 10 个左右。)但我认为这不会大到查询会失败。想法?

最佳答案

发布准确的表架构可以进行更好的分析。

我猜与会者和类型没有编入索引。

尝试在您的查询前加上“explain”(参见 http://dev.mysql.com/doc/refman/5.1/en/explain-output.html)以获取有关执行计划的详细信息。

关于mysql - 为什么这会使服务器超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8857031/

相关文章:

php - 在 PHP 中过滤类别(两个或多个)之间的共同值

php - Curl post请求不返回数据

mysql - 在联接中使用 MAX 函数

php - 如何通过 SQL 将一系列值添加到我的数据库中?

mysql - fatal error : Call to a member function num_rows() on boolean in C:\xamp\htdocs\project24\system\database\DB_driver. php 第 768 行

sql - 您如何防止 Oracle 的基于成本的优化器进行糟糕的优化?

sql - Rails 在不同模型中通过 SQL 搜索进行过滤

sql - MySQL: `... ADD INDEX(a); ... ADD INDEX(b);` 和 `... ADD INDEX(a,b);` 之间的区别?

php - 如何优化这个复杂的 MySql 查询

mysql - 如何优化包含大量 JOINS 的 SELECT 查询?