0
如何使用無密鑰或「壞」密鑰過濾所有查詢?pt-query-digest過濾器查詢沒有密鑰或錯誤密鑰
pt-query-digest /var/lib/mysql/mysql-slow.log --filter '($event->{No_index_used} eq "Yes" || $event->{No_good_index_used} eq "Yes")'
此語法返回計算錯誤
如何使用無密鑰或「壞」密鑰過濾所有查詢?pt-query-digest過濾器查詢沒有密鑰或錯誤密鑰
pt-query-digest /var/lib/mysql/mysql-slow.log --filter '($event->{No_index_used} eq "Yes" || $event->{No_good_index_used} eq "Yes")'
此語法返回計算錯誤
我認爲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-查詢摘要結果。