这应该是一个相当普遍的问题。我在 stackoverflow 问题数据库中找不到解决方案。我不确定我的搜索是否正确。
我运行一个 MySQL、CGI/Perl 站点。一天点击量可能有1000次。用户可以在数据库中搜索该网站。 where 子句可能会变得相当冗长。我每页显示 10 个项目,并为用户提供转到下一页和上一页的链接。目前,每次用户单击“上一页”或“下一页”链接时,我都会进行新的搜索。我用的是
LIMIT num-rows-to-fetch OFFSET num-rows-to-skip
与查询语句一起。然而,响应时间对于后续搜索来说太长了。当我添加更多用户时,情况只会变得更糟。我正在尝试看看是否可以以更好的方式实现这一点。
如果您能给我一些指导,我将非常感激。
最佳答案
如果您不介意使用 Javascript,您应该检查 DataTables 。通过这种方式,您可以将所有行发送到客户端,并在客户端完成分页。
如果这不是一个选项,那么你可以尝试使用mod_perl或CGI::Session来保存页面查询之间的查询结果,这样你就不需要一次又一次地查询mysql。
关于mysql - 实现MySQL搜索结果分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5067520/