【发布时间】:2011-08-08 06:27:12
【问题描述】:
我想将 url 字段与 url 前缀(可能包含百分号)进行匹配,例如.where("url LIKE ?", "#{some_url}%")。
最Rails的方式是什么?
【问题讨论】:
-
我希望您没有任何将帖子扩展到数百万个帖子的计划。该查询会比 SUV 从油箱中排放汽油更快地消耗系统资源。
-
@Wes:取决于您的数据库。 AFAIK,最新版本的 PostgreSQL 可以为使用前缀的 LIKE 匹配使用索引(即,对于某些固定的
X,格式为X%的匹配)。这里有一些注释:stackoverflow.com/questions/1566717/… -
@Wes:尽管如此,你仍然被
%X%模式所困扰,这几乎肯定会给你一个表格扫描。抱歉,我没有权威的参考资料,但您可能会摸索一个查询计划,看看会发生什么。
标签: sql ruby-on-rails ruby-on-rails-3 rails-activerecord