![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Хоббит |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1263 Регистрация: 6.11.2005 Репутация: 1 Всего: 1 |
Есть 2 небольшие таблицы, записей по 10.
categories (id, name) types(id, name) Стандартная операция, получения id по имени. Выполняется за время работы скрипта, раз 5-7. Решил оптимизировать так. В начале работы, раз извлечь все записи в массив, а потом брать из массива. Получил выигрыш, где то 0,02с... что то мало. Стали бы вы так оптимизировать или, проще каждый раз обращаться к бд? |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Оптимизируют узкие места.
Т.е. вначале сделай тестирование под нагрузкой и профайлинг. Если у тебя есть какие-то вещи которые занимают при обработке 1-3с, то твой выигрыш в 0.02с - абсолютно незаметен. -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Сколько же там этих выборок и как чудовищно они организованы, что это удается настолько оптимизировать (при десятке записей на таблицу-то)?
-------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| NNaarreekk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 768 Регистрация: 23.6.2007 Где: Армения Репутация: 0 Всего: 3 |
Чем меньше запросов к базе, тем лучше!!
и тут даже дело не в времени, а в нагрузке сервера! У меня лично бывали, что из за нагрузки сервер портился! |
|||
|
||||
| Хоббит |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1263 Регистрация: 6.11.2005 Репутация: 1 Всего: 1 |
SelenIT
Кажется написана и структура и поля. Я к тому что это ни как не повлияло на производительность, а примерно 0,02, чисто эмперическая величина. В данном случае, читается - "очень мало". Может там и 0,002 было или 0,0002 Добавлено через 42 секунды Мне кажется там все время уходило именно на передачу данных от сервера бд до сервера где веб сервер висит. |
|||
|
||||
| SelenIT |
|
|||
![]() баг форума ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3996 Регистрация: 17.10.2006 Где: Pale Blue Dot Репутация: 32 Всего: 401 |
Сорри, про 5-7 запросов за скрипт сразу не приметил.
Тогда при заданных условиях, если более-менее точно известно, что в обозримое время таблицы не разрастутся до многих сотен, смысл в такой оптимизации есть, имхо. -------------------- Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму! |
|||
|
||||
| source777 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1878 Регистрация: 12.3.2007 Репутация: 2 Всего: 56 |
Оптимизировать надо то, что нуждается в оптимизации(выясняется на стадии профайлинга), а не то, что под руку попалось...
Ликбез: "эмпирическая" означает "полученная в результате серии экспериментов", а не "взятая с потолка"! -------------------- Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Дело в том,что если это все твои временные затраты - то тут нет смысла ничего оптимизировать. Связь с удаленным сервером БД замерь (просто проверь время работы скрипта с включенной БД и без нее используя функции заглушки). Если львиная доля выполнения скрипта уходит на связь - то надо оптимизировать канал или переносить БД поближе. В худшем случае - да, можно сделать так как ты описал. т.е. первым запросом получить все необходимые данные и уже работать с ними. Добавлено через 1 минуту и 19 секунд Но в любом случае - профайлинг! -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| Feldmarschall |
|
|||
|
Новичок ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2641 Регистрация: 11.12.2007 Репутация: 22 Всего: 32 |
Я бы считал вначале в массив.
Но не стал бы называть это оптимизацией производительности, поскольку оптимизировать тут нечего, а, скорее, оптимизацией алгоритма. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |