|
|
|
| Прочитал несколько статей по поводу EXPLAIN, но не получается практически использовать этот сервис. В РНР скрипте делаю так:
$query = "EXPLAIN SELECT * FROM art WHERE artikul = '$NUMBER' ";$res2 = mysql_query($query);echo mysql_errno()." 192 : ".mysql_error()."<BR>";
|
Не понимаю, где смотреть результат?
В смысле, как увидеть информацию, вырабатываемую EXPLAIN, ведь скрипт ее не выводит ? | |
|
|
|
|
|
|
|
для: Владимир55
(29.05.2013 в 14:09)
| | Вы PhpMyAdmin'ом пользуетесь? Просто выполните запрос в нем.
Если нет, то EXPLAIN возвращает результат в виде таблицы. Можете и получить его как при обычном селекте:
<?php
$q = 'EXPLAIN ...';
$res = mysql_query( $q );
while( $row = mysql_fetch_assoc( $res ) ) print_r( $row );
|
| |
|
|
|
|
 10.3 Кб |
|
|
для: Sfinks
(29.05.2013 в 14:30)
| | Спасибо! Вроде бы, нормально получилось (скриншот), Только скупо очень - видимо, поскольку запрос простейший.
А время исполнения EXPLAIN разве не сообщает? | |
|
|
|
|
|
|
|
для: Владимир55
(29.05.2013 в 14:47)
| | > А время исполнения EXPLAIN разве не сообщает?
Нет. Он показывает план запроса.
Для проверки времени в PMA есть (рядом со ссылкой [быстрая правка]) галка "профилирование".
Нажмите ее, увидите сколько времени тратится на каждую операцию во время запроса.
Или же из PHP можно так:
<?php
mysql_query( 'SET profiling=1' );
mysql_query( 'SELECT * FROM art WHERE artikul = '.$NUMBER );
$res = mysql_query( 'SHOW PROFILE' );
while( $row = mysql_fetch_assoc( $res ) ) print_r( $row );
|
| |
|
|
|
|
|
|
|
для: Sfinks
(29.05.2013 в 17:12)
| | Это бесценные сведения!
СПАСИБО! | |
|
|
|