Компьютерные электронные книги Пятница, 09.01.2009, 17:13
Приветствую Вас Гость | RSS
Меню сайта
Категории каталога
Компьютерные статьи [198]
Вторая молодость Internet Explorer
Сеть [68]
Статьи по локальным сетям, интернет, настройка домена
Графика [17]
Статьи по Photoshop, Corel Draw, Illustrator, 3D Max, Maya
Оперционные Системы [168]
Статьи по Windows, Linux, Unix
Программирование [100]
Статьи по Delphy, C/C++, .NET, PHP, Pascal, Perl, Visual Basic, Ассемблер, Java, Java Script, ASP
Web-Диайн [35]
Статьи про Веб-Дизайн, создание сайтов, раскрутка сайтов, уведичение посещаемости
SOFT Обозрение [7]

Контакты
Мыло email: smtp3@bk.ru

Аська ICQ: 393-364-007

 
Главная » Статьи » Программирование

Время выполнения SQL запросов PHP
Итак, нам нужно засечь время, потраченное на выполнение 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 запросы и подсоединитесь к базе данных.


Вот и все ! :)
Категория: Программирование | Добавил: compbook (27.07.2008)
Просмотров: 50 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email:
WWW:
Код *:
 
 
Форма входа
Логин:
Пароль:

Поиск
 
Реклама
    Internet MapКликните на эту кнопку чтобы увидеть карту ВСЕГО интрнета

    Статистика
    Rambler's Top100
    Онлайн всего: 2
    Гостей: 2
    Пользователей: 0
     

    Реклама

    Рейтинг TOP100
    Copyright CompBook © 2009