0
我有一个Rails 3.2应用程序,我试图抓住一组用户。我的Rails的查询代码如下所示:使用“WHERE IN”的Rails 3.2查询不使用我的主键作为索引
@users = User.where("user_id IN (?)", foo)
生成的SQL语句:
SELECT 'users'.* FROM 'users' WHERE id IN (1, 2, 3, 4)
当我运行此查询的解释,它是在我的用户表检索所有行。它列出possible_keys
字段下的PRIMARY
,但密钥显示为空。
如果我删除了“IN(?)”的一部分和拉一条记录:
@user = User.where("user_id = ?", bar)
使用主键索引和搜索产生
SELECT 'users'.* FROM 'users' WHERE id = 1
然后执行查询只有一行。
任何想法为什么这不工作在我的第一个例子?我在Rails中错误地构造了这个查询吗?
感谢您的链接 - 好解释 – Jim 2012-08-01 13:24:30