oracle sql plusでは、パフォーマンステストを実行しているときに、
set autotrace traceonly:
これにより、実際の結果を出力せずにクエリプランと統計が表示されます。mysqlに同等のものはありますか?
oracle sql plusでは、パフォーマンステストを実行しているときに、
set autotrace traceonly:
これにより、実際の結果を出力せずにクエリプランと統計が表示されます。mysqlに同等のものはありますか?
いいえ、少なくともコミュニティエディションでは、MySQLで利用できる同等のものはありません。
MySQLは、Oracleのコードにあるような「インストルメンテーション」を実装していません。したがって、イベント10046トレースに相当するものはありません。
SELECTステートメントの前にEXPLAIN
キーワードを付けることができます。これにより、MySQLがステートメントの実行に使用する実行プランに関する情報が出力されますが、これは単なる見積もりであり、実際の実行の監視ではありません。
サーバーで低速のクエリログを有効にして、long_query_time
実行に数秒以上かかるSQLステートメントをキャプチャすることもできますが、実際には、実行時間の長いクエリのみが識別されます。これにより、経過時間と調べた行数とともにSQLテキストが得られます。
クエリプランを取得するには、クエリEXPLAIN
の先頭に追加するだけSELECT
です。
EXPLAIN SELECT * FROM table
また、それがあなたが話している統計である場合、読み取られる行の数を推定します。