我有2个表,“用户”和“游戏”。我需要在管理表中完成游戏的所有用户。由于游戏太多,我决定对数据进行分页和限制。即使在限制之后,以下查询也会花费相同的时间。如何更好地编写此代码?
knex("users")
.distinct(creatorAttributes)
.select(
knex
.raw(
"select count(id) from games where state = 'finished' and user_uid = users.uid"
)
.wrap("(", ") as games_hosted")
)
.innerJoin("games", "games.user_uid", "=", "users.uid")
.whereIn("games.state", ["published", "finished", "cancelled"]).limit(10)