首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >记录多个数据库的非索引查询

问记录多个数据库的非索引查询
EN

Database Administration用户
提问于 2017-02-23 10:57:41
回答 3查看 2.5K关注 0票数 1

我有大约50个MySQL数据库,每个数据库都有超过20个表。我的Sort_rows,handler_read_rnd_next和handler_read_first的数据都很高。

如果没有必要,我不能手动为每个表添加索引,而且可能会遗漏一些索引,因此我正在寻找一个工具或一个配置,它可以帮助我找到哪些行/请求缺少索引。

您正在使用哪些工具,或者如何配置MySQL来告诉我有关这些非索引查询的更多信息?

EN

回答 3

Database Administration用户

回答已采纳

发布于 2017-02-23 14:21:03

要查找所有不使用索引的查询,您需要做两件事:

  1. 启用慢速查询日志
  2. 将全局变量log_queries_not_using_indexes设置为ON

在my.cnf for 5.6中,如下所示:

代码语言:javascript
复制
[mysqld]
...
...
slow_query_log=ON
log_queries_not_using_indexes=ON

这两个变量都是动态变量,可以在这样的运行系统上设置:

代码语言:javascript
复制
mysql> SET GLOBAL slow_query_log=ON;
mysql> SET GLOBAL log_queries_not_using_indexes=ON;

有关详细信息,请参阅https://dev.mysql.com/doc/refman/5.6/en/slow-query-log.html,并注意,默认情况下,不使用索引的查询不会记录到慢速查询日志中,但是如果启用了log_queries_not_using_indexes,则所有不使用索引的查询都将被记录下来,而不管它们执行的时间是否超过“long_query_time”。如果记录的查询数量过多,请使用log_throttle_queries_not_using_indexes限制不使用每分钟将记录的索引的查询数。与其他两个全局变量一样,这是动态的,可以在这样的运行系统上进行更改,例如将其设置为每分钟10次:

代码语言:javascript
复制
mysql> SET GLOBAL log_throttle_queries_not_using_indexes=10;

这应该能让你振作起来。

票数 2
EN

Database Administration用户

发布于 2017-02-24 00:59:36

long_query_time=1;打开慢速日志(如果可能的话)到FILE;等待一天或更长时间;使用pt-query-digest总结结果。

“最差”查询将首先在输出中排序(默认情况下)。做好前几个。

定期重复。

我不喜欢log_queries_not_using_indexes=ON --它只是把慢速日志中的小表格弄乱了,不管是否使用索引都不重要。此外,有时优化器会故意地、正确地避开所有索引并进行表扫描。

我说没有办法自动生成索引。毕竟,有时“综合”指数是“正确”的答案。有时,重新制定查询比索引所能做的任何事情都要好。有时,模式更改是最好的操作。有时(现在很少),一些VARIABLE会有所帮助。有时,改进需要对应用程序进行更改。

Handler%条目在SESSION STATUS中很方便,但我仅限于将查询的一种形式与另一种形式进行比较。它非常擅长于说,即使是对于小型表,哪个查询的扩展性也会更好。

如果你有任何很难改进的问题,发布一个新的问题。包括SHOW CREATE TABLE和EXPLAIN SELECT ...

也见我的索引食谱。其中包括了许多DBA不太理想的东西--许多DBA的CREATE TABLE:许多映射表。这是一个AUTO_INCREMENT PRIMARY KEY损害性能的例子。

(我做这类事情已经有十多年了。)

票数 1
EN

Database Administration用户

发布于 2017-02-23 12:08:48

我敢肯定这个问题已经问过很多次了

JetProfiler和MONyog允许集中处理最重要的查询、按数据库进行排序加载、总时间、总数、锁定时间等,保存数据以进行特性分析和比较。

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

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

复制
相关文章

相似问题

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