Одним із головних чинників ефективності виконання MySQL запитів є час його виконання. Налагодження запитів MySQL є справою не з рідкісних, і добре б мати під рукою зручний інструмент, який би дозволив оцінити час виконання запиту.
В MySQL, починаючи з версії 5.0.37 є з’явився вбудований механізм — profiling, який дозволяє оцінити час виконання того чи іншого запиту.
Розглянемо приклад його використання:
mysql> set profiling=1;
mysql> select count(*) from comment;
mysql> select count(*) from message;
mysql> show profiles;
Як результат отримуємо дані в такому вигляді:
+———-+————+——————————+
| Query_ID | Duration | Query |
+———-+————+——————————+
| 1 | 0.00012700 | select count(*) from comment |
| 2 | 0.00014200 | select count(*) from message |
+———-+————+——————————+
2 rows in set (0.00 sec)
Команда show profiles за замовчуванням показує результати 15 запитів, цифру можна збільшити, задавши параметр profiling_history_size:
mysql> set profiling=1;
mysql> set profiling_history_size=100;
Цей метод так само гарний тим, що якщо міряти час виконання запиту з самого коду додатка, то такі фактори, як коннект до сервера MySQL теж може віднімати якийсь час, що в підсумку може призвести до неточних цифр. У випадку ж з профілюванням, ви переглядаєте час виконання самого запиту. Крім цього можна переглянути детальну інформацію, на що витрачався час виконання запиту:
mysql> show profile for query 1;
+——————————–+———-+
| Status | Duration |
+——————————–+———-+
| starting | 0.000015 |
| checking query cache for query | 0.000021 |
| checking permissions | 0.000003 |
| Opening tables | 0.000007 |
| System lock | 0.000004 |
| Table lock | 0.000023 |
| init | 0.000005 |
| optimizing | 0.000005 |
| executing | 0.000025 |
| end | 0.000003 |
| end | 0.000001 |
| query end | 0.000002 |
| storing result in query cache | 0.000003 |
| freeing items | 0.000003 |
| closing tables | 0.000004 |
| logging slow query | 0.000002 |
| cleaning up | 0.000001 |
+——————————–+———-+
17 rows in set (0.00 sec)
Досить зручний інструмент, який можна використовувати для оптимізації MySQL запитів.
Дізнайтеся більше про можливості використання в офіційній документації — SHOW PROFILE Syntax.
Додав: htmaker, 20.07.2015 р.
(1 голосів, середній: 5,00 з 5)
Завантаження…
Діліться з друзями:
См. також:
Змінюємо пароль root в MySQL 5.7
Рубрика: Linux, MySQL
Виправлення помилок у базі MySQL
Рубрика: MySQL
Відновлення пароля root в MySQL
Рубрика: MySQL
Утиліта Mytop для MySQL
Рубрика: Linux, MySQL
Кількість запитів до MySQL в режимі реального часу
Рубрика: MySQL
Оптимізація MySQL (просто про складному)
Рубрика: MySQL
Повнотекстовий індекс: Full text index
Рубрика: MySQL
Вставлення стовпців: ALTER TABLE ADD
Рубрика: MySQL
Відновлення таблиць MyISAM після збою
Рубрика: Linux, MySQL