Профайлинг запроса (вычисляем время выполнения)
- Подробности
- Категория: MySQL
- Просмотров: 223
Без учета времени выполнения запроса к Mysql далеко не уедите...
Итак, профайлинг помогает узнать полезные данные о работе ваших запросов:
1 пример:
<?php
// Подключаемся к базе данных
$dbConn = new mysqli('localhost', 'root', 'pass', 'db_shop');
// Устанавливаем режим профайлинга
$dbConn->query('set profiling=1');
// Выполняем наш запрос
$dbConn->query('SELECT * FROM products');
$data_profile = $dbConn->query('show profiles');
// Получаем данные о профайлинге
$row = $data_profile->fetch_array();
// Закрываем режим профайлинга
$dbConn->query('set profiling=0');
// Выводим данные на экран
echo '<pre>';
print_r($row);
echo '</pre>';
// Получим время выполнения и строку sql-запроса
$duration = $row['Duration'];
$query = $row['Query'];
printf('Запрос: %s. Время выполнения - %s', $query, $duration);
В результате на экране появится общий массив данных и в частности время выполнения запроса. Это позволяет отловить и изменить слишком сложные запросы.