如何使用no key或“bad”键过滤所有查询?
pt-query-digest /var/lib/mysql/mysql-slow.log --filter '($event->{No_index_used} eq "Yes" || $event->{No_good_index_used} eq "Yes")'
此语法返回评估错误
答案 0 :(得分:0)
我认为pt-index-usage是您需要的更好的工具。它的缺点是它需要针对活动的mysql实例运行,这可能会导致相当大的开销。如果你有一个可以使用的奴隶,或者你可以恢复备份并在那里运行它,那么最好使用它。
使用pt-query-digest,您只能filter by a certain set of attributes适合您的输入。要查看可用于过滤的属性列表,您可以运行以下内容:
pt-query-digest \
slowlog \
--filter 'print Dumper $event' \
--no-report \
--sample 1
这会生成Lock_time => '0.000026'
对等列表,这意味着您可以使用$event->{Lock_time}
来过滤pt-query-digest结果。