[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Про Количество Запросов К БД
termes
Я хотел узнать сколько запросов делает мой скрипт на одной странице, и что бы подсчитать это добавил после каждого запроса
PHP
$_num_of_query++;
А в конце страницы написал
PHP
echo $_num_of_query;
Теперь вопрос: Как думаете этот запрос:
PHP
$ass_users=mysql_fetch_assoc(mysql_query(“SELECT * FROM `users` LIMIT 30”) );
Мне надо считать как два запроса, потому что как Вы видите с начало делается запрос: mysql_query, а потом: mysql_fetch_assoc. Хотелось бы узнать и Ваши мнение, заранее спасибо!



Спустя 58 минут, 13 секунд (26.02.2009 - 20:29) kirik написал(а):
Цитата (termes @ 26.02.2009 - 11:31)
Мне надо считать как два запроса

Почему? Ведь запрос тут только один и он - mysql_query, а mysql_fetch_assoc это разбор данных, полученных после запроса.

Спустя 1 день, 9 часов, 26 минут, 23 секунды (28.02.2009 - 05:55) qpayct написал(а):
да ещё и лимит определён.. нафик ваще счёт?

Спустя 3 дня, 6 часов, 15 минут, 15 секунд (1.03.2009 - 12:10) termes написал(а):
Цитата
да ещё и лимит определён.. нафик ваще счёт?

Но у меня же на одной странице очень много могут быть запросов к БД. Много инклуд файлов, так что сколько было запросов так считать легче! У меня другой вопрос: Как думаете считать-ли за запрос только mysql_query, или же и другие нап: mysql_fetch_assoc, mysql_num_query и т.д

Спустя 14 минут, 19 секунд (1.03.2009 - 12:25) kirik написал(а):
Цитата (termes @ 1.03.2009 - 04:10)
Как думаете считать-ли за запрос только mysql_query, или же и другие нап: mysql_fetch_assoc, mysql_num_query и т.д

Я же написал выше, что запросом является _только_ mysql_query() остальные mysql_* функции работают с результатом запроса. Тоесть если нужно посчитать именно количество запросов, то считать нужно количество вызовов mysql_query().
Для этого можно упростить задачу:
PHP
$queries_num 0// где-нибудь в самом начале скрипта определяем эту переменную

// ----------------- Следующее вставляем в файл с функциями

// наш алиас функции mysql_query(), с подсчетом обращений
function db_query($sql)
{
    global 
$queries_num;
    
$queries_num++;

    return 
mysql_query($sql);
}

// Теперь заменяем в скриптах все mysql_query на наш алиас db_query и
echo 'Всего запросов: '.$queries_num// Выводим число запросов


Также можно считать время каждого запроса и пр.

Спустя 2 часа, 54 минуты, 18 секунд (1.03.2009 - 15:19) termes написал(а):
Цитата
запросом является _только_ mysql_query() остальные mysql_* функции работают с результатом запроса. Тоесть если нужно посчитать именно количество запросов, то считать нужно количество вызовов mysql_query().

Спасибо, все понял.
а на счет твоей функци, что бы мне непришлось переписать вес мой скрипт с самого начало, я как и выше писал- буду просто после mysql_query добовлять $_num_of_query++;... Еще раз спасибо за обяснение smile.gif

Спустя 6 часов, 40 минут, 3 секунды (1.03.2009 - 21:59) kirik написал(а):
Цитата (termes @ 1.03.2009 - 07:19)
что бы мне непришлось переписать вес мой скрипт с самого начало, я как и выше писал- буду просто после mysql_query добовлять $_num_of_query++;

ИМХО это равнозначно wink.gif Только способ с функцией более гибкий.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.