Я работаю над приложением, которое связано с устаревшей базой данных. Основная модель основана на тупо большой таблице столбцов 100+. Я не слишком много знаю о внутренней работе ActiveRecord, но мне кажется, что любой запрос в этой модели замедляется, потому что он создает объекты с более чем 100 атрибутами. Давайте назовем это SlowModel.
Рендеринг страниц с этой моделью иногда занимает 17 секунд на моем компьютере разработчика. Прямые запросы MySQL занимают всего ~ 0,5 - 1 секунды.
Мне удалось ускорить одну часть приложения с помощью представления MySQL, которое выбирает подмножество полей (около 20). Мы назовем это QuickModel. Использование представлений в порядке, но не самое портативное решение.
Вероятно, я продолжу пытаться добавить эту QuickModel в другие части сайта, но мне было интересно, есть ли у кого-нибудь другие идеи по ускорению создания оригинального объекта. Например, есть ли способ указать в модели, какие столбцы activerecord следует просто игнорировать и избегать построения? Возможно, существуют определенные типы столбцов (: текст ??), которые вызывают раздувание в объектах ActiveRecord.
Предположим, что столбцы имеют правильные индексы.