首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相同查询的MySql不同执行路径

相同查询的MySql不同执行路径
EN

Stack Overflow用户
提问于 2014-02-21 18:48:34
回答 1查看 1.1K关注 0票数 2

我有两个服务器(linode 3072个vps),一个(旧的)有ubuntu 11.04 + Mysql 5.5.32,另一个(更新的)有centos 6.2。+ Mysql 5.5.36My.cnf文件也是一样的。但是,当我在同一个db (直接导出/导入)上运行相同的查询时,我从这两个服务器获得了两个不同的响应时间和执行路径。

反应更快的老者。

代码语言:javascript
复制
1   SIMPLE  ch  ref PRIMARY,channel_name    channel_name    122 const   1   Using where; Using temporary; Using filesort
1   SIMPLE  t   ref PRIMARY,channel_id  channel_id  4   bcc.ch.channel_id   1554    
1   SIMPLE  p   ref PRIMARY PRIMARY 4   bcc.t.entry_id  1   Using index
1   SIMPLE  c   eq_ref  PRIMARY,group_id    PRIMARY 4   bcc.p.cat_id    1   Using where

响应较慢的较新的。

代码语言:javascript
复制
1   SIMPLE  ch  ref PRIMARY,channel_name    channel_name    122 const   1   Using where; Using temporary; Using filesort
1   SIMPLE  p   index   PRIMARY PRIMARY 8   NULL    25385   Using index; Using join buffer
1   SIMPLE  t   eq_ref  PRIMARY,channel_id  PRIMARY 4   bcc.p.entry_id  1   Using where
1   SIMPLE  c   eq_ref  PRIMARY,group_id    PRIMARY 4   bcc.p.cat_id    1   Using where

最大的区别是在第二步。第一服务器使用索引,只需扫描1554行,其中第二服务器使用索引+连接缓冲区,必须扫描25385行。有什么想法吗?

像这样的查询和其他查询会导致某些页面上的新服务器上的每页负载增加几秒钟。我用清漆服务前端,但仍然想解决这个问题。

下面是正在运行的sql

代码语言:javascript
复制
select SQL_NO_CACHE cat_name,cat_url_title, count(p.entry_id) as count
from exp_categories as c
join exp_category_posts as p on c.cat_id = p.cat_id
join exp_channel_titles as t on t.entry_id = p.entry_id
join exp_channels as ch on ch.channel_id = t.channel_id
where channel_name IN ('resources')
AND group_id = 2
group by cat_name
order by count desc
limit 5 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-21 19:13:53

MySQL中的查询优化器根据对索引和表的统计信息选择要使用的索引。有时,索引的选择并不是最优的,查询的执行也是不同的。

我们在数据库中发现,在同一天的某些时间点,MySQL更改了它用于同一查询的执行路径。

你可以试试

代码语言:javascript
复制
analyze table exp_categories,exp_category_posts,exp_channel_titles,exp_channels ;

这有时会改进执行计划。或者,使用索引提示来确定使用了哪些索引。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21942742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档