首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当连接查询递增运行时Mysql会缓慢运行

当连接查询递增运行时Mysql会缓慢运行
EN

Database Administration用户
提问于 2015-08-24 20:28:40
回答 1查看 426关注 0票数 0

我们的Mysql专用服务器盒总是有40-80左右的活动用户连接,所以查询速度很好,Cpu使用率很低。(约4-8核心从24个核心),但有时当一些wordpress“加入”查询运行,服务器速度缓慢和其他查询进入队列,因此服务器运行查询超过600-1000 /s。

以下是我认为引起问题的以下查询:

代码语言:javascript
复制
SELECT SQL_CALC_FOUND_ROWS  WP_POSTS.ID FROM WP_POSTS  INNER JOIN
WP_TERM_RELATIONSHIPS ON (WP_POSTS.ID = W
P_TERM_RELATIONSHIPS.OBJECT_ID) WHERE 1=1  AND (  
WP_TERM_RELATIONSHIPS.TERM_TAXONOMY_ID IN ()

我的问题;

  • 为什么联接查询会影响mysql服务器的性能?
  • 这是配置相关的问题吗?还是我们需要更多的硬件?此时,我们的服务器24核心+ 64千兆内存+ SAS 15K RAID 10

更新1 :

与用户相关的简单流程列表:

代码语言:javascript
复制
| 1871506 | xhamster_gdgdgd  | server6:48608 | xhamster_hehehe           | Query   | 456  | Sending data                   | SELECT SQL_CALC_FOUND_RO
WS  wp_posts.ID FROM wp_posts  INNER JOIN wp_term_relationships ON (wp_posts |
| 2467509 | kordgsmc_gsm     | server6:37144 | kordgsmc_vb             | Query   | 22   | Waiting for table level lock | SELECT userid, username
                                FROM user
                               sWHERE userid IN (6295)                                   |
| 2468708 | samseria_wp      | server6:38899 | samseria_wp             | Query   | 23   | Sending data                 | SELECT SQL_CALC_FOUND_ROWS
wp_posts.ID FROM wp_posts  INNER JOIN wp_term_relationships ON (wp_posts |
| 2469440 | samseria_wp      | server6:39953 | samseria_wp             | Query   | 6    | Sending data                 | SELECT SQL_CALC_FOUND_ROWS
wp_posts.ID FROM wp_posts  INNER JOIN wp_term_relationships ON (wp_posts |
| 2469825 | samseria_wp      | server6:40542 | samseria_wp             | Query   | 23   | Sending data                 | SELECT SQL_CALC_FOUND_ROWS
wp_posts.ID FROM wp_posts  INNER JOIN wp_term_relationships ON (wp_posts |
EN

回答 1

Database Administration用户

发布于 2015-08-26 17:58:13

使用MyISAM,INSERT/UPDATE/DELETE将请求独占锁,并且必须等待任何SELECTs完成。如果在写入之后出现了另一个SELECT,那么它将被阻塞,等待写入获得其锁并完成其操作。

也就是说,一个简单的书写就能把你看到的烂摊子变成雪球。

更改为InnoDB可能会避免这个问题,因为锁是在行级别而不是在表级别进行的。

让我们看看您的EXPLAINSELECT (并提供一个没有语法错误)。再告诉我们桌子有多大。以及每个相关表的SHOW CREATE TABLE

加快查询速度将有助于避免锁。

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

https://dba.stackexchange.com/questions/112052

复制
相关文章

相似问题

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