免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2166 | 回复: 7
打印 上一主题 下一主题

php 长时间查询问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-05 12:09 |只看该作者 |倒序浏览
大家好,

我有一个wordpress的blog, 用户访问的时候,

  1. | Id      | User      | Host      | db                    | Command | Time | State        | Info                                                                                                       |
  2. +---------+-----------+-----------+-----------------------+---------+------+--------------+------------------------------------------------------------------------------------------------------------+                                                                                 |
  3. | 8779177 | myadmin| localhost | mydb            | Query   | 1937 | Sending data | SELECT ID FROM wp_posts WHERE post_name LIKE 'i%e2%80%99ll-follow%' AND post_status = 'publish' |
复制代码




Time 都到了 1937, 严重影响性能。

有什么办法能设定mysql,或者php的超时吗?

谢谢!

论坛徽章:
0
2 [报告]
发表于 2008-08-05 13:51 |只看该作者
加上合适的索引!

论坛徽章:
0
3 [报告]
发表于 2008-08-05 15:41 |只看该作者
  1. explain SELECT ID FROM wp_posts WHERE post_name LIKE 'i%e2%80%99ll-follow%' AND post_status = 'publish';
  2. +----+-------------+----------+-------+---------------+-----------+---------+------+-------+-------------+
  3. | id | select_type | table    | type  | possible_keys | key       | key_len | ref  | rows  | Extra       |
  4. +----+-------------+----------+-------+---------------+-----------+---------+------+-------+-------------+
  5. |  1 | SIMPLE      | wp_posts | range | post_name     | post_name | 602     | NULL | 28189 | Using where |
  6. +----+-------------+----------+-------+---------------+-----------+---------+------+-------+-------------+
复制代码


是加了索引的,但还是非常慢。

论坛徽章:
0
4 [报告]
发表于 2008-08-06 01:14 |只看该作者
原帖由 bryanw 于 2008-8-5 12:09 发表
大家好,

我有一个wordpress的blog, 用户访问的时候,

| Id      | User      | Host      | db                    | Command | Time | State        | Info                                          ...

要不你写个脚本,query时间超过多少你就 kill 掉
优化优化吧:)

论坛徽章:
0
5 [报告]
发表于 2008-08-06 10:41 |只看该作者
你的问题应该是遇上的磁盘的io瓶颈了
你的数据在硬盘上散列比较厉害,导致mysql 需要在磁盘多次寻道

评分

参与人数 1可用积分 +3 收起 理由
yueliangdao0608 + 3 我很赞同

查看全部评分

论坛徽章:
0
6 [报告]
发表于 2008-08-06 11:37 |只看该作者
把你的TOP结果贴出来吧。
看看CPU的阻塞是不是很大!
如果你有一条烂SQL语句的,并且并发又非常大,那么你任何一条SQL语句也有可能处于这种状态!

论坛徽章:
0
7 [报告]
发表于 2008-08-13 00:11 |只看该作者
原帖由 yueliangdao0608 于 2008-8-6 11:37 发表
把你的TOP结果贴出来吧。
看看CPU的阻塞是不是很大!
如果你有一条烂SQL语句的,并且并发又非常大,那么你任何一条SQL语句也有可能处于这种状态!

mysql ,只要一条足够烂的sql就可以了
不需要并发
呵呵

论坛徽章:
0
8 [报告]
发表于 2008-08-13 13:03 |只看该作者
post_name LIKE 'i%e2%80%99ll-follow%'

这是啥东西?想办法别用like
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP