Недостатки объекта реляционного сопоставления

Я вентилятор ORM - объекта реляционного сопоставления, и я использовал его с помощью рельсов в течение прошлого года. До этого я использую, чтобы написать RAB-запросы с использованием JDBC и сделать базу данных сделать тяжелую подъем через хранимые процедуры. С ORM я был изначально рад делать такие вещи, как Coach.manager и Manager.woaches , которые были очень простыми и простыми для чтения.

Но со временем было многочисленные ассоциации, ползущиеся, и я закончил делать a.b.c.d , которые были стремительными запросами во всех направлениях, за кулисами. С рельсами и рубиновым коллектором мусора пошли гайки и воспользовались безумным временем для загрузки очень сложной страницы, которая включает в себя относительно меньшие данные. Мне пришлось заменить этот код стиля ORM простым сохраненным процедурой, а результат, который я видел, был огромным. Страница, которая заняла 50 секунд, чтобы загрузить, теперь занимает всего 2 секунды.

С этой огромной разницей я должен продолжать использовать ORM? Очень ясно, что у него сильные накладные расходы по сравнению с необработанным запросом.

В целом, каковы общие подводные камни с использованием структуры ORM, как Hibernate, Acciverecord?

6
задан bragboy 7 September 2011 в 12:59
поделиться