NHibernate генерирует довольно быстрый SQL прямо из поля. Я использовал его в течение года и, должно быть, все же придется записать пустой SQL с ним. Все мои проблемы производительности были от Нормализация и отсутствие индексов.
самая легкая фиксация должна исследовать планы выполнения Ваших запросов и создать надлежащие индексы, особенно на Ваших столбцах внешнего ключа. Если Вы используете Microsoft SQL Server, "Настраивающий Советник по вопросам Механизма базы данных" выручает много с этим.
Если вы не против включения ActiveSupport в свое приложение, вы можете просто сделать это:
require 'active_support'
date = Date.today.beginning_of_month
Это работает ...
Не очень умно: /
require 'date'
Date.parse(Date.parse("2009-10-26").to_s[0,8] << "01")
require 'date'
now = Date.today
Date.new(now.year, now.month, 1)