Профайлинг запросов MySql в PHP
июнь
8
, 2015
Часто в нашем приложении мы хотим узнать, сколько времени выполняется тот или иной запрос. Например, мы хотим отлавливать медленные запросы и уведомлять об нас этом. Как это делается - в этой статье
Задача: есть php-скрипт, выполняющий sql-запросы. Нам необходимо узнать время выполнения каждого запроса. В примере будем использовать объект mysqli. Делаем это так:
// Поключаемся к базе данных $dbConn = new mysqli('localhost', 'user', 'password', 'dbname'); // Устанавливаем режим профайлинга $dbConn->query('set profiling=1'); // Выполняем наш запрос $dbConn->query('select * from goods'); $data_profile = $dbConn->query('show profiles'); // Получаем данные о профайлинге $row = $data_profile->fetch_array(); // Отменяем режим профайлинга $dbConn->query('set profiling=0'); // Выведем данные на экран echo ''; print_r($row); echo ''; // Получим время выполнения и строку sql-запроса $duration = $row['Duration']; $query = $row['Query']; printf('Запрос: %s. Время выполнения - %s', $query, $duration);
Заходите в группу в контакте -
https://vk.com/webdevkin
Анонсы статей, обсуждения интернет-магазинов, vue, фронтенда, php, гита.
Истории из жизни айти и обсуждение кода.
Истории из жизни айти и обсуждение кода.