You're here: Newfs.info / Persons / Sozidatel' (Соziдатель) / Заметки разработчика / Оптимизация поиска персон
Оптимизация поиска персон
В меру своих сил оптимизировал поиск персон. Теперь оно выполняется в районе 8 секунд, что является приемлимым значением.
Также добавил кеширование первой страницы списка персон на 10 минут. Таким образом этот раздел может открываться вообще меньше чем за секунду :)
Но в будущем еще придёться повозиться с этим разделом. Когда персон будет в десять раз больше, и собак, и сообщений в форуме.
Кому интересно, вот как выглядит базовый запрос для подробного списка персон:
Также добавил кеширование первой страницы списка персон на 10 минут. Таким образом этот раздел может открываться вообще меньше чем за секунду :)
Но в будущем еще придёться повозиться с этим разделом. Когда персон будет в десять раз больше, и собак, и сообщений в форуме.
Кому интересно, вот как выглядит базовый запрос для подробного списка персон:
Quote:SELECT p.id, p.site_id, p.status, u."login", p.last_name, p.first_name,
p.patronymic, p.nickname, p.loc_id, u.date_reg, p.respect_display,
CASE WHEN (p.respect_show IS NULL) THEN (0)::real ELSE p.respect_show END AS respect_show,
(SELECT CASE WHEN (sum(fv.vote) IS NULL) THEN (0)::bigint ELSE sum(fv.vote) END AS sum FROM f2_message fm, f2_message_vote fv WHERE ((fv.message_id = fm.id) AND (fm.person_id = p.id))) AS forum_vote,
(SELECT count(*) AS count FROM dog_owner WHERE (dog_owner.person_id = p.id)) AS dog,
(SELECT count(*) AS count FROM dog_breeder WHERE (dog_breeder.person_id = p.id)) AS posterity
FROM (person p LEFT JOIN cm_users u ON (((u.person_id = p.id) AND (p.site_id = u.site_id))));
Комментарии
Вот уж и точно не интересная:)))
Я был честен :)
Хотя, иногда и мне бывает интересно глянуть, как устроено то, чем я пользуюсь, но в устройстве чего не имею ни малейшего представления.
Хотя, иногда и мне бывает интересно глянуть, как устроено то, чем я пользуюсь, но в устройстве чего не имею ни малейшего представления.
Неужели программа на таком языке и вправду пишется? Даже я поняла, чего от неё хотят :) А раньше я видела только программы, которые выглядели как китайская абракадабра :(
Это не программа, это запрос к базе данных, чтобы получить от неё подготовленые данные, которые уже использует программа, чтобы их вам красиво показать.
:))))))))))))))))))
То-то я думаю, и чего я всё поняла? По голове кто стукнул или во сне пришло, что программы читать начала :)) А это вон оно что! :))))))))))))))))
То-то я думаю, и чего я всё поняла? По голове кто стукнул или во сне пришло, что программы читать начала :)) А это вон оно что! :))))))))))))))))
Наблюдать за новыми комметариями.