0

I would like to know if it is possible to log (or detect in another way) a query that is taking too much time to execute as soon as it reached the long_query_time. Because MySQL only logs slow queries when they finished executing.

I know I can see slow queries before they finished by checking the "Server Connections" tab of MySQL Administrator, but I would like to be automatically notified when it happens (it's easier with logs).

4

1 に答える 1

1

データベースをポーリングして、クエリが x 秒以上実行されているかどうかを確認する場合は、show processlistを使用するか、プロセス リスト テーブルに直接移動できます。

select * from INFORMATION_SCHEMA.PROCESSLIST where time > TIME_IN_SECS

これによりデータベースにさらに負荷がかかるため、毎秒実行することはお勧めしません。しかし、それは「long_query_time に到達するとすぐに」情報を取得できないことを意味します。

于 2013-06-10T22:43:45.417 に答える