【问题标题】:how to get paginated select on slick + postgresql如何在 slick + postgresql 上进行分页选择
【发布时间】:2016-07-23 17:07:25
【问题描述】:

在使用 slick 3 的 postgresql 数据库中,最好的分页方式是什么?

  • 获取所有行并使用 scala 进行分页(似乎效率不高)?
  • 带限制和偏移的静态查询?
  • 还有其他方法吗?

【问题讨论】:

    标签: postgresql scala pagination slick


    【解决方案1】:

    您可以在TableQuery 对象上使用takedrop 方法。它们将在生成的 SQL 查询中转换为 limitoffset

    val users: TableQuery[UsersTable] = UsersTable.query
    
    val firstPartOfUsers  = users.drop(0).take(25).result
    val secondPartOfUsers = users.drop(25).take(25).result
    

    这两个操作将被转换为以下 SQL 查询:

    select "name", "email", "id" from "users" limit 25 offset 0
    select "name", "email", "id" from "users" limit 25 offset 25
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-15
      • 2016-11-19
      • 2021-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-01
      相关资源
      最近更新 更多