Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Оптимизировать или нет. Как бы вы поступили. 
:(
    Опции темы
Хоббит
Дата 19.4.2008, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: 1
Всего: 1



Есть 2 небольшие таблицы, записей по 10.
categories (id, name)
types(id, name)

Стандартная операция, получения id по имени. Выполняется за время работы скрипта, раз 5-7.
Решил оптимизировать так. В начале работы, раз извлечь все записи в массив, а потом брать из массива.
Получил выигрыш, где то 0,02с... что то мало.
Стали бы вы так оптимизировать или, проще каждый раз обращаться к бд?
PM MAIL   Вверх
Fortop
Дата 19.4.2008, 16:10 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Оптимизируют узкие места.
Т.е. вначале сделай тестирование под нагрузкой и профайлинг.

Если у тебя есть какие-то вещи которые занимают при обработке 1-3с, то твой выигрыш в 0.02с - абсолютно незаметен.



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
SelenIT
Дата 19.4.2008, 18:13 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Сколько же там этих выборок и как чудовищно они организованы, что это удается настолько оптимизировать (при десятке записей на таблицу-то)?  smile 


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
NNaarreekk
Дата 19.4.2008, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Чем меньше запросов к базе, тем лучше!!

и тут даже дело не в времени, а в нагрузке сервера!
У меня лично бывали, что из за нагрузки сервер портился! smile 
PM MAIL WWW   Вверх
Хоббит
Дата 19.4.2008, 18:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: 1
Всего: 1



SelenIT 
Кажется написана и структура и поля. Я к тому что это ни как не повлияло на производительность, а примерно 0,02, чисто эмперическая величина. В данном случае, читается - "очень мало". Может там  и 0,002 было или 0,0002

Добавлено через 42 секунды
Мне кажется там все время уходило именно на передачу данных от сервера бд до сервера где веб сервер висит.
PM MAIL   Вверх
SelenIT
Дата 19.4.2008, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Сорри, про 5-7 запросов за скрипт сразу не приметил.

Тогда при заданных условиях, если более-менее точно известно, что в обозримое время таблицы не разрастутся до многих сотен, смысл в такой оптимизации есть, имхо.


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
source777
Дата 19.4.2008, 18:47 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 2
Всего: 56



Оптимизировать надо то, что нуждается в оптимизации(выясняется на стадии профайлинга), а не то, что под руку попалось...

 smile 
Цитата(Хоббит @  19.4.2008,  18:29 Найти цитируемый пост)
Я к тому что это ни как не повлияло на производительность, а примерно 0,02, чисто эмперическая величина. В данном случае, читается - "очень мало". Может там  и 0,002 было или 0,0002
Ликбез: "эмпирическая" означает "полученная в результате серии экспериментов", а не "взятая с потолка"!



--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Fortop
Дата 19.4.2008, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(Хоббит @  19.4.2008,  18:29 Найти цитируемый пост)
Кажется написана и структура и поля. Я к тому что это ни как не повлияло на производительность, а примерно 0,02, чисто эмперическая величина. В данном случае, читается - "очень мало". Может там  и 0,002 было или 0,0002

Дело в том,что если это все твои временные затраты - то тут нет смысла ничего оптимизировать.

Связь с удаленным сервером БД замерь (просто проверь время работы скрипта с включенной БД и без нее используя функции заглушки). Если львиная доля выполнения скрипта уходит на связь - то надо оптимизировать канал или переносить БД поближе.

В худшем случае - да, можно сделать так как ты описал. т.е. первым запросом получить все необходимые данные и уже работать с ними.

Добавлено через 1 минуту и 19 секунд
Но в любом случае - профайлинг!


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Feldmarschall
Дата 20.4.2008, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Я бы считал вначале в массив.
Но не стал бы называть это оптимизацией производительности, поскольку оптимизировать тут нечего, а, скорее, оптимизацией алгоритма.

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0514 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.