【发布时间】:2010-07-28 20:20:37
【问题描述】:
我正在使用 Rails3.rc 和 Active Record 3(带有 meta_where),并且刚刚开始切换到 Sequel,因为它似乎更快并且提供了一些非常棒的功能。
我已经在使用 active_model 插件(以及其他一些插件)。
据我所知,我应该使用
User[params[:id]]而不是User.find(params[:id])。但是,如果不存在记录并且不将值转换为整数(PK 类型),则不会引发此问题,因此它是where子句中的字符串。我不确定这是否会导致任何性能问题。这会伤害identity_map吗?解决这两个问题的最佳方法是什么?是否有一种简单的方法可以翻转
User.messages_dataset和User.messages等关联的使用,从而使User.messages的行为类似于 Active Record (User.messages_data_set) 中的行为。我想我会经常使用#..._dataset,但从不需要数组方法,因为我可以添加.all?我注意到一些相同的(复杂的)查询有时会在一个操作中执行多次。有没有类似 Active Record 查询缓存的东西? (
identity_map似乎不适用于这些情况)。我可以调用
to_sql来获取数据集将生成的原始 SQL 吗?
【问题讨论】:
标签: ruby-on-rails ruby activerecord sequel