MySQL性能问题,使用固定内存,占用过多CPU

stenlylee 2009-09-18 01:50:34
select * from MessageSend o group by o.batchIdMessage order by o.addTimeMessage desc

这条语句,在我开发的电脑上,执行的时候,CPU占用并不多,内存会短时间增多,查询结果出来的也比较快
但是到客户的服务器上,MySQL进程的内存就固定占用47M左右,CPU满,查询好长时间才会出结果,相当于用CPU去换内存了

估计是MySQL哪里设置的问题,请教解决办法,如何优化性能
...全文
204 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangweiit 2010-05-19
  • 打赏
  • 举报
回复
你的电脑与客户的电脑性能不一样
数据量也不一样
iihero_ 2010-05-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 stenlylee 的回复:]

引用 2 楼 yueliangdao0608 的回复:
用了临时表,肯定内存狂增!


这里用了临时表?
那请教这种情况改如何处理?或者换其他办法怎么搞?
[/Quote]
既然有group by和order by,为何不针对这两列建立索引。
适当的可以把sort_buffer_size参数值调大一点。
stenlylee 2010-05-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yueliangdao0608 的回复:]
用了临时表,肯定内存狂增!
[/Quote]

这里用了临时表?
那请教这种情况改如何处理?或者换其他办法怎么搞?
stenlylee 2010-05-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 nianzhang747 的回复:]
batchIdMessage
addTimeMessage
这两列的索引失效了吧……
[/Quote]
本地和远程我都没有人工去添加索引,难不成本地建数据库的时候,他会自动针对这两列添加索引?
懒得去死 2009-09-18
  • 打赏
  • 举报
回复
用了临时表,肯定内存狂增!
nianzhang747 2009-09-18
  • 打赏
  • 举报
回复
batchIdMessage
addTimeMessage
这两列的索引失效了吧

检查索引
mysql> explain select seqnum from t7974 order by seqnum;
+----+-------------+-------+-------+---------------+---------+---------+------+-
-----+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref |
rows | Extra |
+----+-------------+-------+-------+---------------+---------+---------+------+-
-----+-------------+
| 1 | SIMPLE | t7974 | index | NULL | PRIMARY | 4 | NULL |
6111 | Using index |
+----+-------------+-------+-------+---------------+---------+---------+------+-
-----+-------------+
1 row in set (0.00 sec)

extra列走没走索引

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧