$724.12


$29.01


$33.26


Время выполнения SQL запросов

Итак, нам нужно засечь время, потраченное на выполнение SQL запросов ? Это не очень легко, но и не сложно. Начнем с определения задачи. Необходимо выдать полное время, затраченное на генерацию страницы и время, затраченное на выполнения SQL запросов, еще было бы здорово вывести процент от общего времени.

Сначала напишем функцию, которая выдает время, затраченное на выполнение своего кода:
function do_something(){        $mtime = microtime();         $mtime = explode(« »,$mtime);         $mtime = $mtime[1] + $mtime[0];         $tstart = $mtime;     //here is the code to execute     //.........        $mtime = microtime();         $mtime = explode(« »,$mtime);         $mtime = $mtime[1] + $mtime[0];         $tend = $mtime;         $tpassed = ($tend — $tstart);         return($tpassed);    }


Для конкретно нашей задачи, нужно модифицировать эту функцию так, чтобы выполнялись SQL запросы:
    //запрос передается как аргумент    function do_query($query){    //подсоединяем две глобальные переменные        global $result;        global $qnum;    //счетчик запросов        $qnum++;    //засекаем время старта        $mtime = microtime();         $mtime = explode(« »,$mtime);         $mtime = $mtime[1] + $mtime[0];         $tstart = $mtime;     //выполняем запрос            $result = MYSQL_QUERY($query);    //засекаем время окончания        $mtime = microtime();         $mtime = explode(« »,$mtime);         $mtime = $mtime[1] + $mtime[0];         $tend = $mtime;         $tpassed = ($tend — $tstart);     //возвращаем время, затраченное на запрос        return($tpassed);    }


Теперь у нас есть функция, которая считает запросы и выдает время экзекуции :) Вот как она должна быть использована:
//Не забудьте где-нибудь в начале скрипта объявить эти две переменные:    $result=0;    $qnum=0;//...//Вызов функции:    $sql_time+=do_query(«SELECT * FROM SOME_TABLE»);//Теперь можно разбирать полученные данные:    while($row = mysql_fetch_array($result)){        print($row[«Text»]);    }

В окончательном скрипте нужно еще засечь полное время выполнения, таким же способом, что использовался в функции. Внизу код такого скрипта, который заработает, если вы вставите реальные SQL запросы и подсоединитесь к базе данных.

Вот и все ! :)

 

Интересное

Печать из Linux на Windows...
1. Предисловие Перед нами стоит задача печати документов на Win-принтере (Canon LBP — 810) из Linux (ALT Master 2.2/2.4). Canon LBP — 810 подключен (USB-подключение) и настроен на Win-компьютере...
Подробнее...
Java обгоняет по...
Одним из главных недостатков языка Java традиционно считается невысокая скорость работы программ по сравнению с приложениями на языке С++. И для приложений, где переносимость между платформами...
Подробнее...
Масштабируемые и...
Обсуждаемые темы: HTTP-запросы; HTTP-ответы; Оптимизация с помощью HTTP keep-alive; Оптимизация с помощью HTTP-pipelining; Оптимизация с помощью HTTP-кэширования: Кэширование в современных...
Подробнее...
Проблеммы с буквой 'я' на ftp
При загрузке на сервер из винды пропадает буква я и следующий за ней символПопытаться побороть можно такЗаходим в папку с исходниками proftpd... далее vi src/netio.c далее находим удаляем или...
Подробнее...
Утилиты Windows XP
Локальные параметры безопасностиПолитика паролей, учетных записей пользователей, назначение прав пользователей, параметры безопасности и другое.Оснастка консоли secpol.mscГрупповая политика...
Подробнее...
Unix+ Samba + ftpd,...
Есть такая проблема: сложно найти ftpd, понимающий перекодировку имен файлов. Если хранить файлы на сервере в koi8, то ftpшник выдает винде крякозябры. Если хранить в CP1251, то ftp не передает...
Подробнее...
Наиболее распространенне...
Количество случаев похищения идентификационных данных все растет. Нашла ли ваша организация решение этой проблемы или она остается для вас по-прежнему актуальной? Личные идентификационные данные...
Подробнее...
Метатэги
Здесь можно расслабиться. :)В противоположность многочисленным утверждениям о важности правильного использования тэгов META, вам предстоит сейчас узнать о том, что это не так уж и важно.
Подробнее...
Десять советов по...
Использование всевозможных технологий удаленного администрирования рабочих станций позволяет существенно сэкономить время и деньги. Ниже приводятся некоторые советы, которые помогут читателям в...
Подробнее...
Cмешение цветов с помощью...
Привет всем. Сегодня мы будем писать програмку, которая может размыть картинку.Бросай на форму Timage и Tbutton имена оставь по умолчанию, создавай событие button1.click
Подробнее...