SQL就没有办法转换成为ActiveRecord

最近在玩ActiveRecord和Sql server,发现ActiveRecord居然支持preparedstatement了。但有些功能还是不能支持,比如NOT EXISTS和CROSS APPLY。

比如,下面这段SQL就没有办法转换成为ActiveRecord

只是有些接近的方法

生成的SQL实际上是


用到了LEFT JOIN,而不是EXISTS。不过,还好是prepared statement。

或者直接用SQL

实际上面生成的SQL就不是prepared过的了。这样就不好了,就不好的利用cache plan了。比起LEFT JOIN 引起的side effect,我更加倾向用LEFT JOIN方式,至少能够cache plan,不用每次compile。

转载需保留链接来源:软件玩家 » SQL就没有办法转换成为ActiveRecord

赞 (1) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

感恩您的支助!

微信扫一扫打赏