2015-04-15 2 views
0

У меня медленный журнал запросов из MySQL с одной стороны и большое приложение PHP с другой стороны, замусоренное операциями mysql_query(). Я ищу лучшее решение для поиска медленных запросов из журнала в коде PHP-кода, кроме интеллектуального grep'ing исходного кода.Специфичные для приложения данные для медленного журнала запросов MySQL?

Моя идея состоит в том, что может быть возможно обогатить SQL-запросы некоторой метаинформацией, то есть именем файла и номером строки, где вызывается mysql_query(). Но я не могу найти что-либо, нацеленное на эту проблему.

ответ

1

Пожалуйста, посмотрите на

http://php.net/manual/en/function.override-function.php

И комментарии оттуда:

rename_function('strlen', 'new_strlen'); 
override_function('strlen', '$string', 'return override_strlen($string);'); 

function override_strlen($string){ 
     return new_strlen($string); 
} 

Но я предлагаю вам, чтобы использовать любой ОРМ, над вашими запросами.

+0

спасибо за указатель. Я поеду на этот маршрут, но вместо того, чтобы использовать APD (последняя версия около 2004 года, не поддерживается больше), я пытаюсь сделать то же самое с расширением [uopz extension] (http://php.net/manual/en/book.uopz. php) или расширение [runkit extension] (http://php.net/manual/en/book.runkit.php). –

0

Комментарии мощь быть распространяющиеся в SlowLog:

$sql = '/* ' . __FILE__ . ':' . __LINE__ . ' */ ' . 
    "SELECT ... "; 

(. Этот метод может быть выключен, в зависимости от того, какой версии MySQL/MariaDB вы используете)