如果我有一张桌子User,做这样的事情会更快:
SELECT * FROM user WHERE id > ? ORDER BY id LIMIT 10000
(每个后续查询都使用前最后一行的 id 作为参数)
或者使用带有偏移量的 LIMIT,如下所示:
SELECT * FROM user ORDER BY id LIMIT ?, 10000
(到目前为止检索到的记录总数是偏移量)。
作为一个额外的复杂因素,如果我想基于链接表连接执行类似的查询怎么办?就像说一个user可以属于多个角色,所以我想要一个查询
SELECT u.*
FROM user u
INNER JOIN user_roles ur ON ur.user_id = u.id
WHERE ur.role_name IN ('Admin', 'SuperUser', 'etc.')
LIMIT ?, 10000
连接是否会影响关于首选哪种样式查询的决定?