Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Может кому интересно будет.  (Прочитано 13670 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« : 19-08-2003 11:40 » 

Писал недавно сайтик на РНР и подметил такую штуку : при больших запросах в БД замедляется производительность отработки скрипта.

Пробовал писать четырьмя способами :

$sql = "SELECT * FROM tralialia WHERE tralialia1 ='tralialia' AND tralialia2='tralialia3'";
$res = mysql_query($sql);

Первый :
Код:
while )$kol = mysql_fetch_row)$res::
|
    print $kol[0( . " - ". $kol[1( . " - " . $kol[2(;
"

Второй :
Код:
while )$kol = mysql_fetch_array)$res::
|
    print "|$row['tralialia'(" / |$row['tralialia2'(" / |$row['tralialia3'("";
"

Третий :
Код:
while )$kol = mysql_fetch_assoc)$res::
|
    print "|$row['tralialia'(" / |$row['tralialia2'(" / |$row['tralialia3'("";
"

Четвёртый :
Код:
while )$row = mysql_fetch_object)$res:: 
|
   print $row->tralialia;
   print $row->tralialia2;
   print $row->tralialia3;
"



В итоге оказалось что mysql_fetch_array($res) работает медленнее остальных, а mysql_fetch_assoc($res) и mysql_fetch_row($res) быстрее.

В базе около 90 000 записей. Вот такая вот штука  Отлично
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 19-08-2003 12:05 » 

Неуже ли тебе для генерации страницы нужны все 90т строк? Может LIMIT нужен?
Оптимизировать надо...
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #2 : 19-08-2003 12:37 » 

Интересно - я использую array и иногда без лимита...
Записан

А птичку нашу прошу не обижать!!!
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #3 : 19-08-2003 12:56 » 

Цитата: RXL
Неуже ли тебе для генерации страницы нужны все 90т строк? Может LIMIT нужен?
Оптимизировать надо...


Ну во первых это я для сравнения.

А вообще в базе около 3 000 таблиц которые увеличиваются, и мне надо динамически выводить последние регистрации по мере появления таблиц + выбирать из них какие-то данные для общей статистики  Улыбаюсь

Сейчас смотрю в сторону использования XML , но пока нету времени им занятся  Здесь была моя ладья...
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #4 : 19-08-2003 12:57 » 

Цитата: Гром
Интересно - я использую array и иногда без лимита...


Да, я тоже всегда array использую  Отлично Привык уже  Отлично
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Fireworm
Гость
« Ответ #5 : 19-08-2003 13:27 » 

по поводу оптимизации:
http://softportal.com/articles/item.php?id=63
http://phplens.com/lens/php-book/optimizing-debugging-php.php
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 19-08-2003 13:53 » 

Постоянно накапливающуюся статистику можно периодически обрабатывать отдельной программой, генерящей страницы и картинки, а по http отдавать уже их. Конечно не со всякой информацией можно так поступать - если важна каждая строчка в отдельности, то конечно нет.

Я, когда писал на php, всегда использовал mysql_fetch_row() - видимо интуитивный выбор  Улыбаюсь
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #7 : 20-08-2003 04:50 » 

Цитата: Fireworm


Иногда задача ставится так что максимально оптимизировать невозможно  :?

Как например в случае с одним проектом, который мы делали с напарником довольно долго.  Это что то типа rambler top100 ,  только у нас в Литве (http://www.top100.lt/index.php?lng=ru).
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Fireworm
Гость
« Ответ #8 : 20-08-2003 11:20 » 

Не согласен. Оптимизировать можно практически все. Либо использованием более быстрого алгоритма, либо использованием других функций. Да и оптимизация бывает разной. Можно увеличить скорость работы, за счет других показателей, можно оптимизировать использование памяти и т.д.
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #9 : 20-08-2003 11:33 » 

Улыбаюсь
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
white [tz]
Гость
« Ответ #10 : 27-09-2003 22:21 » new

MOPO3, это всё и ёжику понятно... в доке всё описано  давно... что быстрее, что тормознее...  Ага
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines