shoorick: (Default)
shoorick ([personal profile] shoorick) wrote2009-12-07 05:45 pm

Ой

Прочитал про отладку в DBIx::Class, включил вывод запросов в лог — ужасаюсь: на отображение одной странички ушло 140 (сто сорок!) запросов (среди них — немало повторяющихся). Даже если СУБД и выдаёт результаты из кэша — это всё равно слишком много. Я, конечно, понимаю, что использование ORM может подразумевать некоторое увеличение использования машинных ресурсов в обмен на экономию времени программиста. Но не до такой же степени!

Вопрос

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

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

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