免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: nixiltj
打印 上一主题 下一主题

请问如何查询mysql中执行效率低的sql语句? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-04-04 14:05 |只看该作者
原帖由 rardge 于 2006-4-4 13:49 发表
如果写在 my.cnf 中,不要前面的“--”,log-slow-queries=/var/log/myquery.log 就好了,和 log-bin 一样,这个应该都有吧。等号后面不写的话,它会自己建立一个默认文件名的文件。
--log-slow-queries=/var/lo ...



谢谢楼上的,可以我遇到了问题:

我在my.cnf这个文件里加了这么一句:
log-slow-queries=/var/log/slowquery.log
我想重起MYSQL,于是我先关掉MYSQL,没有想到出错了?
[root@guoxin bin]# ./mysqladmin -u root -p shutdown
./mysqladmin: ERROR: unknown variable 'log-slow-queries=/var/log/slowquery.log'

论坛徽章:
0
12 [报告]
发表于 2006-04-04 14:14 |只看该作者
错误搞定了,我因为我把log-slow-queries=/var/log/slowqueries.log放错了地方,我把它放在
[mysqld]
log-bin
log-slow-queries=/var/log/slowqueries.log

就没有问题了,难道还讲究地方不成?

论坛徽章:
0
13 [报告]
发表于 2006-04-04 14:14 |只看该作者
哦,那也许不是这个名字,呵呵。我没有试验过。
放在参数里面应该可以的。

论坛徽章:
0
14 [报告]
发表于 2006-04-04 14:22 |只看该作者
原帖由 xxjoyjn 于 2006-4-4 14:14 发表
错误搞定了,我因为我把log-slow-queries=/var/log/slowqueries.log放错了地方,我把它放在
[mysqld]
log-bin
log-slow-queries=/var/log/slowqueries.log

就没有问题了,难道还讲究地方不成?

是啊,就象 windows 的 ini 文件语法一样,有段的概念。mysqld 下面就是服务器段的应用设置。

论坛徽章:
0
15 [报告]
发表于 2006-04-04 14:34 |只看该作者
有了这个日志文件是不是所有查询慢的SQL都纪录在这个日志文件里?

那mysqldumpslow这个有是做什么用的?怎么用?

论坛徽章:
0
16 [报告]
发表于 2006-04-04 14:51 |只看该作者
sorry,如果是启动参数才是那个,如果是在配置文件中就是 log-slow-queries 了,旧版本的可能是slow-query
可以通过  mysqld --verbose --help|grep slow 来找找看

论坛徽章:
0
17 [报告]
发表于 2006-04-04 14:53 |只看该作者
我在my.cnf里面命名设置long-query-time=1
为什么在日志里却看到了查询没有达到一秒的查询纪录:
# Time: 060404 13:59:19
# User@Host: guoxin[guoxin] @ guoxin [127.0.0.1]
# Query_time: 0  Lock_time: 0  Rows_sent: 4  Rows_examined: 8
use guoxin;
select * from news order by updatetime desc limit 4;

里面的那个Query_time: 0 不就是查询时间吗,可我设置的是超过一秒的查询呀?
请问是怎么回事?

论坛徽章:
0
18 [报告]
发表于 2006-04-04 14:55 |只看该作者

斑竹,我也有同样的问题!

启动服务后,执行
./mysql  -uroot -p test  --log-slow-queries=/usr/local/mysql/slowsql.log
有错误信息:
ERROR: unknown variable 'log-slow-queries=/usr/local/mysql/slowsql.log'

用./mysql  --help查看,没有所说的log-slow-queries选项!可是有
/usr/local/musql/bin/mysqldumpslow 这个文件,是支持这个命令的,
不应该是版本的问题吧

请指教!

论坛徽章:
0
19 [报告]
发表于 2006-04-04 15:02 |只看该作者
回 xxjoyin:mysqldumpslow 这个不知道干什么用的,我还没用过,我连慢速查询日志都没使用过,呵呵。
回楼上:那个是 mysqld 的参数,是服务器端程序的参数,不是客户端的,所以在 my.cnf 中也是写在 mysqld 段的。

论坛徽章:
0
20 [报告]
发表于 2006-04-04 15:13 |只看该作者
我在my.cnf里面的[mysqld]段加入了:
log-slow-queries=/var/log/slowqueris.log
log-long-time=1  //有的帖子说这个是用来设置你自己觉得太慢了的查询时间的,如果达到了一秒,就纪录
log-long-format   //有的帖子说是纪录查询语句的,我不知道是不是纪录查询太慢的查询语句还是纪录所有查询语句,我这么用了,如上所说,好像Query-time:0也给纪录了,到现在我还不知道这个工具到底怎么用,也没有搞清楚到底如何知道我的哪些查询语句太慢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP