一連のクエリEXPLAINプランの結果を後で分析するためにテーブルにアーカイブしたいと思います。
EXPLAINの結果からすべてのフィールドを含むテーブルを作成しましたが、EXPLAINコマンドを実行してデータを設定する方法を理解できません。
INSERTコマンドを含むMySQL Workbenchで.sqlファイルをエクスポートする方法を理解しましたが、これを機能させるには手動で編集する必要があります。 EXPLAIN情報はどこかに保存されているので、自動的に実行するクエリを記述できますか? information_schemaとperformance_schemaのどちらにも見つかりません。
Linux OS
で実行している場合は、ファイルに保存できます。
例:
User='root'
Pass='text'
Host='10.0.0.223' (If it's remote)
コマンドラインで:
mysql -u $User -p$Pass --Host=$Host -e "EXPLAIN SELECT * FROM mysql.user LIMIT 0,2" | tee -a test.txt
mysql -e
は、コマンドラインでクエリを実行します。
tee -a
は標準入力から読み取り、ファイルtest.txt
に書き込みます
そして、あなたは得るでしょう:
Perl
を使用して、死亡行を任意の区切り文字に置き換えることができます(この例ではコンマを使用しました)。
Perl -wnlpi -e 's/\s+/,/g;' text.txt
例:
この助けを願っています。