如何找出mysql中的慢查询(主要在Mariadb中)

时间:2015-05-25 11:24:12

标签: java mysql performance hibernate mongodb

我几乎没有问题:

1)我是性能测试的新手作为开始作业我必须调查MariaDb version : 10.0.17-MariaDB MariaDB Server中的慢查询。

我在/etc/my.cnf.d/server.cnf

中尝试了这些设置
[mysqld]
long_query_time=1
log-slow-queries=/var/log/mysql/log-slow-queries.log

在这之后我无法启动数据库。我搞简单了 starting MySQL.... [FAILED]消息。

我遇到了Slow query log overview for mariadb这有点意义:(

任何人都可以为我提供如何完成的教程。

2)在我的应用程序中,我们已经将Hibernate用于数据层,以上述方式查找慢查询日志是否有意义?

3)我如何在mongodb中实现同样的目标。想列出最常用的查询,慢查询?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

将评论转换为答案:

当mysql无法启动时,首先应检查mysql错误日志(可能是/var/log/(mysql/)mysqld.log)以获取确切错误。

在你的情况下,“log-slow-queries”是启动选项名称(也不推荐使用),你应该使用带有boolean值的slow_query_log和用于filename的slow_query_log_file。

  • slow_query_log = 1表示启用日志记录
  • long_query_time = 1表示IF ENABLED日志查询的持续时间超过1秒
然后有 - log_queries_not_using_indexes = 0/1,如果启用,如果他们没有使用索引来查找行,则会记录甚至超过1秒的查询

所有这些和其他内容都可以在MySQL manual

中找到

对于MongoDB,似乎有一个分析器,在这个问题的答案中有描述How to find queries not using indexes or slow in mongodb