超级慢的mysql查询-需要优化

约翰·汉克尔

我不确定这是否是sql服务器优化问题或查询问题,但这是可行的。

我有一个数据库,这些数据库来自我继承的各种新闻媒体。有两个表:news_articles和news_outlets。我正在尝试确定不同文章的数量,以允许同一文章在多个商店中发布(数据库中有很多重复项)。

这是我的查询:

SELECT outs.id, outs.site, COUNT(DISTINCT CONCAT(arts.body_text, outs.site)) AS Article_Count, outs.alignment
FROM news_articles arts
INNER JOIN 
news_outlets outs ON arts.outlet_id = outs.id
WHERE
arts.search_perc > 0.0
AND
arts.search_perc < 0.85
AND
outs.out_type < 3
GROUP BY outs.site, outs.alignment

注意:不幸的是,由于数据库的原始设计(我没有时间来修复),每个实际新闻媒体也有多个outlet_id(想象一下,一个Web爬网程序为mobile.cnn.com和www返回相同的页面。 cnn.com,您就会遇到问题;每个问题都有一个单独的outlet_id)。那不是我现在可以轻松解决的问题。

在outs.site,outs.alignment,id和outs.out_type上都有索引。所有表都是innodb。news_outlets中大约有800条记录,news_articles中大约有600万条记录。这是使用MySQLdb从python连接到服务器(在同一工作站上)运行的。该工作站是今年推出的2.7GHz i5,配备16GB内存。我没有对my.cnf进行太多更改,但是我做了修改:innodb_buffer_pool_size = 12288M

两种方法似乎都没有太大的区别。

该查询运行了很长时间(尽管并非总是如此-当我昨晚运行非常相似的查询时,它看起来要快得多)。我知道它在做很多事情,所以可以理解。但是EXPLAIN表示,有2个简单的过程:一个使用where进行文件排序;另一个使用文件排序。另一个使用索引条件和位置。

每当我运行SHOW进程列表时,它都会说查询正在创建排序索引。然而,CPU使用率最高可达5%。

这是服务器优化问题吗?查询优化问题?我该如何解决?我大约有60个这样的查询要运行-没有一个已经完成;我倾向于在10-20分钟后杀死他们。

先感谢您。

步入正轨

评论回应


我将假定计数需要大量无法优化的处理(至少不是在MySQL中)。你需要这个吗?您是否需要以这种方式计算?因为您是通过id加入outs,所以我认为outs.site对于每个concat都不会有所不同。因此,至少将其更改为COUNT(DISTINCT arts.body_text)。

您无需检查两个字段,因为outs.site将不可能在一个结果行中进行更改。您正在该列上进行分组。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

mysql查询需要优化

来自分类Dev

慢IN()MySQL查询优化

来自分类Dev

优化mysql慢查询

来自分类Dev

需要MySQL查询优化帮助

来自分类Dev

MySQL-慢查询优化

来自分类Dev

MYSQL查询慢,如何优化?

来自分类Dev

需要查询优化

来自分类Dev

需要优化TIMESTAMPDIFF查询

来自分类Dev

MySQL慢查询:如何优化以下查询?

来自分类Dev

MySQL慢查询:如何优化以下查询?

来自分类Dev

需要过滤结果优化查询

来自分类Dev

需要帮助优化SQL查询

来自分类Dev

MySQL非常慢的子查询优化

来自分类Dev

查询永远需要输出信息-优化技巧

来自分类Dev

需要帮助优化此 Sql 查询

来自分类Dev

MySql:获得排名繁重的查询优化-需要帮助

来自分类Dev

MySQL选择查询需要一些优化

来自分类Dev

MySQL:为什么左联接比内联接慢?需要优化帮助

来自分类Dev

慢的MYSQL查询,需要帮助来理解索引

来自分类Dev

减少查询响应时间,需要优化查询

来自分类Dev

优化查询仍然需要一些时间

来自分类Dev

嵌套视图中不需要的查询优化

来自分类Dev

需要帮助来优化查询中的处理数据

来自分类Dev

带分组依据的标量子查询需要优化

来自分类Dev

需要帮助来优化一个简单的查询

来自分类Dev

我需要一些帮助来优化查询

来自分类Dev

优化一个需要 1 分钟执行的选择查询

来自分类Dev

需要优化左连接下的这个视图查询

来自分类Dev

Django查询速度慢,优化