Ой

Dec. 7th, 2009 05:45 pm
shoorick: (Default)
[personal profile] shoorick
Прочитал про отладку в DBIx::Class, включил вывод запросов в лог — ужасаюсь: на отображение одной странички ушло 140 (сто сорок!) запросов (среди них — немало повторяющихся). Даже если СУБД и выдаёт результаты из кэша — это всё равно слишком много. Я, конечно, понимаю, что использование ORM может подразумевать некоторое увеличение использования машинных ресурсов в обмен на экономию времени программиста. Но не до такой же степени!

Вопрос

Date: 2009-12-07 02:26 pm (UTC)
From: [identity profile] kikudjiro.livejournal.com
Иногда в ходе оптимизации приходится как-то "убивать" серии lookup'ов разными prefetch'ами, +select'ами
и усложнением логики.

А вы как оптимизируете? Выносите ли часть логики на уровень базы куда-нибудь в stored procedures или все делаете в рамках pure ORM?

Re: Вопрос

Date: 2009-12-07 04:57 pm (UTC)
From: [identity profile] shoorick.livejournal.com
Да никак не оптимизируем.
Используем pure ORM, потому что основные тормоза всё равно не здесь (или я думаю, что не здесь — подозреваю, что Template Toolkit тормозит).
Пойду домой, читать мануалы...

Date: 2009-12-07 04:35 pm (UTC)
From: [identity profile] Костенко Андрей (from livejournal.com)
серьёзно, прочитайте http://search.cpan.org/~frew/DBIx-Class-0.08114/lib/DBIx/Class/ResultSet.pm#prefetch

Угу

Date: 2009-12-07 04:54 pm (UTC)
From: [identity profile] shoorick.livejournal.com
Почитаю. Спасибо за совет.

Profile

shoorick: (Default)
shoorick

December 2016

S M T W T F S
    1 23
45678910
11121314151617
18 19 2021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 17th, 2025 04:35 am
Powered by Dreamwidth Studios