对不起我的noob问题,
我目前正在编写一个带有sqlite数据库的perl Web应用程序.
我希望能够在我的应用程序中显示可能获得数千行的查询结果 – 这些应该在页面中分割 – 路由应该像/ webapp / N – 其中N是页码.
使用DBI查询sqlite数据库的正确方法是什么,以便仅获取相关行.
我目前正在编写一个带有sqlite数据库的perl Web应用程序.
我希望能够在我的应用程序中显示可能获得数千行的查询结果 – 这些应该在页面中分割 – 路由应该像/ webapp / N – 其中N是页码.
使用DBI查询sqlite数据库的正确方法是什么,以便仅获取相关行.
例如,如果我每页显示25行,那么我想在第一页中查询db为1-25行,在第二页中查询26-50等….
解决方法
使用LIMIT / OFFSET构造将显示页面,但OFFSET使查询效率低下,并在数据更改时使页面内容移开.
如果下一页在最后一页结束的位置开始查询,则效率更高且更一致,如下所示:
SELECT * FROM mytable ORDER BY mycolumn WHERE mycolumn > :lastvalue LIMIT 25
这意味着你的链接不是/ webapp?Page = N但是/ webapp?StartAfter = LastKey.
这在Scrolling Cursor page上有详细解释.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。