2010-11-15 2 views
0

У меня есть файл 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: Добавлено недостающее время для первого выбора.

ответ

1
+0

Спасибо за информацию профилирования. Я могу использовать ее для потраченного времени. Есть ли способ получить количество возвращенных строк? – Danosaure

+0

@Danosaure - в C API есть mysql_num_rows() и mysql_affected_rows(), но вы, вероятно, не может получить к нему доступ через bash. Обычно я буду делать mysql -N -h host db <файл | wc -l' или транслировать результаты в файл и делать 'wc -l' – ajreal

+0

Спасибо за ваш отзыв, но не применим к моя ситуация, так как в этих файлах SQL есть много утверждений, и люди могут добавить больше, но весь вывод должен идти в один файл. не может разбиваться на несколько файлов, поскольку становится неуправляемым. Это «простые» задачи, которые я не хочу встраивать в программу. Пользователь должен будет жить с этим выходом вместо того, чтобы знать точные цифры для каждого утверждения. Кроме того, я не уверен в сетевом этикетке здесь, у вас есть самый полезный совет, но не ответ ... – Danosaure

0

Я предполагаю, что вы теряете данные синхронизации из-за округления. (Например, запрос принимает намного меньше, чем 0,001 секунды

+0

Вещь .. Я не получаю эту последнюю строку на все, что я хотел бы иметь его для каждого line – Danosaure

Смежные вопросы