У меня есть файл SQL с временным созданием таблиц, некоторые данные загрузки данных, некоторые выборки и некоторые обновления.Учет статистики MySQL
Я хотел бы узнать время, потраченное на каждое утверждение, через CLI на корпусе. Если мой файл содержит:
SELECT "Step 1" AS '';
SELECT col1, col2 FROM t1 ORDER BY col3;
И я бегу:
mysql -h host db < file
Выход я хотел бы получить это:
Step 1 1 row in set (0.00 sec) col1 col2 20073 0724081 20073 0724685 20073 0726347 20073 0726932 20073 0733623 5 rows in set (0.00 sec)
1 row in set (0.00 sec)
Tne и 5 rows in set (0.00 sec)
являются информация, что я ищу for, NOT Un * x время для процесса.
Я попробовал разные варианты mysql
, даже --show-warnings --i-am-a-dummy
безрезультатно. Есть ли способ получить запрошенную информацию?
Спасибо,
EDIT: Добавлено недостающее время для первого выбора.
Спасибо за информацию профилирования. Я могу использовать ее для потраченного времени. Есть ли способ получить количество возвращенных строк? – Danosaure
@Danosaure - в C API есть mysql_num_rows() и mysql_affected_rows(), но вы, вероятно, не может получить к нему доступ через bash. Обычно я буду делать mysql -N -h host db <файл | wc -l' или транслировать результаты в файл и делать 'wc -l' – ajreal
Спасибо за ваш отзыв, но не применим к моя ситуация, так как в этих файлах SQL есть много утверждений, и люди могут добавить больше, но весь вывод должен идти в один файл. не может разбиваться на несколько файлов, поскольку становится неуправляемым. Это «простые» задачи, которые я не хочу встраивать в программу. Пользователь должен будет жить с этим выходом вместо того, чтобы знать точные цифры для каждого утверждения. Кроме того, я не уверен в сетевом этикетке здесь, у вас есть самый полезный совет, но не ответ ... – Danosaure