rails 中的活动记录查询是否有 in 运算符 in where 子句的替代方案

问题描述 投票:0回答:1
下面给出了我的 Rails 查询的 sql 查询... 当我为每个目标 id 单独运行查询时,与使用 in 运算符运行查询相比,总时间要少。

SELECT DISTINCT requested_trips.id FROM requested_trips INNER JOIN requested_trips_destinations ON requested_trips_destinations.requested_trip_id = requested_trips.id INNER JOIN destinations ON destinations.id = requested_trips_destinations.destination_id WHERE (requested_trips.status = 'Active' and requested_trips.trip_stage = 4 and (destinations.id in (64,100,545,...)))
    
sql database ruby-on-rails-3
1个回答
0
投票
是的,您将提供 = 运算符,它会更快。但如果您使用 IN 运算符,则您将定义多个搜索项。 SQL 需要时间来搜索所有变量并显示结果。

© www.soinside.com 2019 - 2024. All rights reserved.