Очевидный ответ: это зависит от
ORM хорошо защищает программиста от SQL. Это фактически заменяет посредственные, сгенерированные компьютером запросы на катастрофически неверные запросы, которые может дать программист.
Даже в лучшем случае ORM собирается выполнить некоторую дополнительную работу, загружая ненужные поля, явно проверяя ограничения и так далее.
Когда они становятся узким местом, большинство ORM позволяют вам обходить их стороной и вводить сырой SQL.
Если ваше приложение хорошо сочетается с объектами, но не так легко с отношениями, то это все равно может быть победой. Если вместо этого ваше приложение хорошо вписывается в реляционную модель, то ORM представляет собой узкое место кодирования поверх возможного узкого места производительности.
Одна вещь, которую я нашел особенно оскорбительной в большинстве ORM - это их обработка первичных ключей. Большинству ORM требуется pk для всего, к чему они прикасаются, даже если для них нет разумного использования. Пример: у авторов должен быть pk, в блогах ДОЛЖНЫ быть pk, но ссылок (таблицы соединений) между авторами и сообщениями нет.
Только что нашли mochiweb_html . Похоже, он делает то, что я хочу ...