我正在玩费城的交通数据,我有一个存储 gtfs 数据的 sqlite 数据库。我有这个查询寻找特定站点的出发时间:
SELECT "stop_time".departure_time FROM "stop_time"
INNER JOIN "trip" ON "trip".trip_id = "stop_time".trip_id
WHERE
(trip.route_id = '10726' )
-- AND (trip.service_id = '1')
AND (stop_time.stop_id = '220')
AND (time( stop_time.departure_time ) > time('08:30:45'))
AND (time( stop_time.departure_time ) < time('09:30:45'));
将 service_id 与 1 匹配的子句当前已被注释掉。如果我现在按原样运行查询,而不匹配 service_id,则需要 2 秒。如果我取消注释 service_id 子句,则需要 30。我不知道为什么,因为我已经在查看 route_id 的行程表。
有什么想法吗?