在 Web App 中查询速度慢,但在命令行中查询速度快

Query slow in Web App, but fast in command line

我需要从由第三个 link 编辑的两个表中检索记录。除了 link 其他两个表的键之外,会话内容不包含我需要的任何信息。

我目前正在使用这些连接:

SELECT sessions.name, rooms.name, slots.type, slots.dayString, slots.startHour, slots.startMinute, slots.endHour, slots.endMinute
FROM slots
INNER JOIN sessions
INNER JOIN rooms
;

在 SQLite 数据库浏览器中只需要 50 毫秒,但是当我调用相关的 API 端点时需要多秒的缓冲。

如果加载时间这么长,我将无法使用它 除了限制它的行数 returns(目前 returns 77000)之外,还有什么方法可以缩短查询时间吗?

Session content doesn't contain any information I need besides the keys to link the other two tables.

但是您没有使用这些键来为 link 表设置条件,所以您实际做的是 CROSS 连接 3 个表,结果是笛卡尔所有表的所有行的乘积。
为每个连接使用 ON 子句来设置条件:

SELECT sn.name, r.name, s.type, s.dayString, s.startHour, s.startMinute, s.endHour, s.endMinute
FROM slots s 
INNER JOIN sessions sn ON sn.slot_id = s.slot_id
INNER JOIN rooms r ON r.room_id = sn.room_id;

将我在 ON 子句中使用的列名称更改为实际名称。