如何提高子查询速度? PSQL KnexJS

时间:2019-03-02 19:19:38

标签: postgresql knex.js

我有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)

0 个答案:

没有答案