J'aimerais archiver les résultats d'une série de requêtes expliquer les plans dans une table pour une analyse ultérieure.
J'ai créé une table contenant tous les champs d'un résultat expliquant, mais je ne peux pas comprendre comment le peupler de l'exécution d'une commande Explique.
J'ai compris comment exporter un fichier .sql dans MySQL Workbench contenant des commandes d'insertion, mais je dois le modifier manuellement pour le faire fonctionner. Les informations d'explication sont-elles stockées quelque part afin que je puisse écrire des requêtes pour le faire automatiquement? Je ne trouve pas cela dans les informations_schema ou Performance_schema.
Si vous courez sur Linux OS
Vous pouvez l'enregistrer dans un fichier.
Exemple:
User='root'
Pass='text'
Host='10.0.0.223' (If it's remote)
Sur la ligne de commande Run:
mysql -u $User -p$Pass --Host=$Host -e "EXPLAIN SELECT * FROM mysql.user LIMIT 0,2" | tee -a test.txt
mysql -e
exécutera la requête sur la ligne de commande.
tee -a
va lire à partir de l'entrée standard et écrire au fichier test.txt
Et vous obtiendrez:
Vous pouvez utiliser Perl
pour remplacer les lignes de décès à n'importe quel délimiteur que vous voulez (j'ai utilisé une virgule dans cet exemple).
Perl -wnlpi -e 's/\s+/,/g;' text.txt
Exemple:
J'espère que cette aide.