Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 14301|Відповідь: 0

[Джерело] MySQL використовує профілювання для аналізу причин повільного виконання SQL-операторів

[Копіювати посилання]
Опубліковано 06.07.2017 11:12:17 | | | |

Колега з CleverCode нещодавно порекомендував інструмент для аналізу sql-операторів у MySQL — профілювання, і виявив, що цей інструмент дуже хороший, який може точно аналізувати конкретний час, витрачений на SQL оператори під час процесу запиту. CleverCode підсумовує це тут і ділиться з вами.

1 Вступ

Query Profiler від MySQL — це дуже зручний інструмент діагностичного аналізу запитів, за допомогою якого ви можете отримати споживання кількох ресурсів у всьому процесі виконання запиту, таких як CPU, IO, IPC, SWAP тощо, а також виявлення помилок сторінок, перемикання контексту тощо, а також отримати розташування кожної функції, викликаної MySQL у вихідному файлі під час виконання запиту.

MySQL версії 5.0.37 або пізніша підтримує функцію налагодження PROFILING, яка дозволяє розуміти деталі ресурсів, які споживають SQL-оператори. Оскільки потрібно викликати функцію getrusage() системи, її можна використовувати лише на платформах класу Linux/Unix, а не на Windows. Крім того, PROFILING призначений для обробки процесів, а не потоків, і інші додатки на сервері можуть впливати на результати налагодження, тому цей інструмент підходить для налагодження під час розробки, і якщо ви хочете налагоджувати у виробничому середовищі, звертайте увагу на його обмеження.

2 Експлуатація

2.1 Перевірте, чи увімкнено профіль, він вимкнений за замовчуванням.


2.2 Увімкніть профілювання. Профілювання змінних — це користувацька змінна, яку потрібно знову вмикати щоразу.


2.3 Виконати наступні оператори: Щоб уникнути попереднього збереження SQL у QCACHE, рекомендується змусити оператор SELECT не виконувати виявлення QCACHE під час виконання SQL. Це дозволяє надати точність аналізу.


2.4 ВикористанняЗапит до профілю шоуНайновішийІнформація про виконання заяви。 (Аналіз: виберіть sql_no_cache count(*) з system_user, де вік > 20)




2.5 Використання профілів шоу. Перегляньте список операторів, які виконуються на сервері. (запит id, витрачений час, оператор).




2.6 Використовуйте профіль шоу для запиту до інформації про виконання ID формулювання. Тут ми аналізуємо заяву за ідентифікацією 6. (Аналіз: виберіть sql_no_cache count(*) з system_user, де вік > 20).


2.7 Отримайте споживання процесора та блокування виводу.




2.8 Отримання додаткової інформації. можна отримати, виконавши "SHOW PROFILE *** FOR QUERY n". Адреса для довідки: http://dev.mysql.com/doc/refman/5.6/en/show-profile.html.







Попередній:Звіти новачків
Наступний:Блокбастерні новини! Розробка міні-програм безкоштовна!
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com