А вот и обломитесь! 121 запрос чтобы вывести эту чертову страницу!!! Нет я не ошибся, именно сто двадцать один! Я уже не стал смотреть, в какой именно космос эти запросы уходят и зачем..
Спустя 3 часа, 22 минуты, 57 секунд (25.09.2009 - 09:16) glock18 написал(а):
не могу сказать, что работает быстро, но меня не успевает утомить ожиданием.)))
а запросы, наверно типа:
а запросы, наверно типа:
Код |
$imgId = 10; select kartinka from tablichkaCacheTable5 where id = 10; if ($kartinka = mysql_result($result, 0, 0)) return $kartinka; // Не нашли картинку в табличке с кэшем 5 уровня (вааапще не в курсе что за такой уровень, но надо же как-то количество запросов увеличить) select kartinka from tablichkaCacheTable4 where id = 10; if ($kartinka = mysql_result($result, 0, 0)) return $kartinka; select kartinka from tablichkaCacheTable3 where id = 10; if ($kartinka = mysql_result($result, 0, 0)) return $kartinka; select kartinka from tablichkaCacheTable2 where id = 10; if ($kartinka = mysql_result($result, 0, 0)) return $kartinka; select kartinka from tablichkaCacheTable1 where id = 10; if ($kartinka = mysql_result($result, 0, 0)) return $kartinka; // Ну вот, придется доставать из таблички с картинками. а так не хотелось select kartinka from tablichkaKartinka5 where id = 10; if ($kartinka = mysql_result($result, 0, 0)) return $kartinka; // Хха-ха. Не ждали! А этих табличек тоже 5. Вот теперь в них искать будем select kartinka from tablichkaKartinka4 where id = 10; if ($kartinka = mysql_result($result, 0, 0)) return $kartinka; |
А можно изврариться еще круче:
Код |
$imgId = 10; $cacheTableNum = 10; // типа у нас может быть таблиц с кешированием сколько угодно, и эта величина очевидно переменна во времени... for ($i = 1; $cacheTableNum <= 10; $i++) { show tables like 'tablichkaCacheTable' . $i; if (mysql_num_rows()) { select kartinka from tablichkaCacheTable{$i} where id = 10; if ($kartinka = mysql_result($result, 0, 0)) return $kartinka; } } // ааа, висё пропало. ми больше не увидем эту картинку... exec('format c:/'); // Уносим ноги отсюда - нас раскрыли. |
Спустя 22 секунды (25.09.2009 - 09:16) SunSet написал(а):
Сто двадцать.. сколько?? А я то думал что у меня много при моих то 10-20ти запросах...
![blink.gif](http://phpforum.ru/html/emoticons/blink.gif)
Спустя 44 минуты, 46 секунд (25.09.2009 - 10:01) twin написал(а):
Цитата |
Работаю над сайтом http://onlinetattoowholesale.com/ |
О как:
Цитата |
Страница, которую Вы хотите посетить, содержится в списке мошеннических сайтов. Вероятно, будет предпринята попытка получить от Вас обманным путем данные личного или финансового характера. Компания Opera Software настоятельно не рекомендует посещать эту страницу. |
Спустя 5 часов, 2 минуты, 10 секунд (25.09.2009 - 15:03) FatCat написал(а):
Цитата (kirik @ 25.09.2009 - 06:53) |
А вот и обломитесь! 121 запрос чтобы вывести эту чертову страницу!!! |
Мне приходилось сознательно делать такие страницы.
Например "прибамбасы" при просмотре списка топиков, обновившихся с момента последнего посещения:
- сколько всего сообщений в этом топике;
- сколько сообщений добавилось с момента последнего посещения;
- есть ли в топике "свои" сообщения, и если есть, то айдишник последнего;
- отслеженный трафик из поисковок в этот топик;
- в скольких статьях глоссария использовался...
Поэтому "прибамбасы" вынес в отдельный цикл.
Что-то, конечно, оптимизирована архитектурой базы; например, в таблице топиков есть поле "число сообщений", которое пересчитывается при каждом добавлении/удалении сообщения в топик, и есть поле "число просмотров", перезаписываемое при каждом обращении к странице...
Но не повесишь же в таблицу топика список всех авторов сообщений... То же и с глоссарием.
Пробовал получать всю информацию одним запросом. Мало того, что сам запрос занимал пол-экрана текстом, он еще и выполнялся секунд 10.
Сотня запросов в цикле на круг выполняется 0.1-0.2 секунды, что вполне приемлемо.
Опять же в цикле удобнее отрегулировать права; например те же вхождения в глоссарий нужны только модераторам, и только в своих разделах; поэтому запросы к таблице глоссария идут только у модераторов. В итоге, простые посетители создают минимальную нагрузку, максимум нагрузки дают админы и супермодеры.
![laugh.gif](http://phpforum.ru/html/emoticons/laugh.gif)
Спустя 3 часа, 4 минуты, 18 секунд (25.09.2009 - 18:07) kirik написал(а):
glock18
Именно! Там смесь того что ты написал
Меню генерится в циклах, в циклах же достаются подкатегории для каждого пункта меню..
Именно! Там смесь того что ты написал
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Цитата (twin @ 25.09.2009 - 02:01) |
О как: |
Гм.. Не знаю что там может быть.. Там менюшка какая-то странная, мож она раздражает Оперу..?)
FatCat
Ну видишь, у тебя форум с хитрыми выборками, а там тупо страничка, где по-логике достаточно 3-4х запросов
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 1 час, 33 минуты, 51 секунда (25.09.2009 - 19:41) Sylex написал(а):
про CMS Drupal слышал, что средненький проект на ней вытягивает до 700-800 запросов на одну страницу, вот это жесть =)
Спустя 11 минут, 41 секунда (25.09.2009 - 19:53) kirik написал(а):
Sylex вернулся!
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Цитата (Sylex @ 25.09.2009 - 11:41) |
до 700-800 запросов на одну страницу, вот это жесть |
это печально...
Спустя 25 минут, 50 секунд (25.09.2009 - 20:19) glock18 написал(а):
Да, Sylex, с возвращением
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Цитата |
про CMS Drupal слышал, что средненький проект на ней вытягивает до 700-800 запросов на одну страницу, вот это жесть =) |
это жесть... но думаю, что это преувеличение - в любом случае зависит не только от cms, но и от кривости рук того, кто на ней пишет
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 1 день, 14 часов, 26 минут, 54 секунды (27.09.2009 - 10:46) Sylex написал(а):
kirik, glock18
спасибо
Да я все равно щас редко на форуме, смотрю только интересные темы ![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
спасибо
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Цитата (glock18 @ 25.09.2009 - 23:19) |
это жесть... но думаю, что это преувеличение - в любом случае зависит не только от cms, но и от кривости рук того, кто на ней пишет ![]() |
безусловно!
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)