mysql - 实现MySQL搜索结果分页

标签 mysql perl

这应该是一个相当普遍的问题。我在 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/

相关文章:

php - 将具有相同名称的表数据插入数据库

android - 简洁的多行子串提取

perl - 关于在 Perl 中正确使用取消引用的困惑

perl - 使用 Perl 或 Powershell,如何比较 2 个 CSV 文件并仅获取新行?

perl - 你如何验证服务器证书和链中的每个证书直到 perl 中的 ROOT - 4 级深

mysql - 联合SQL查询烦恼

mysql - SQL字符串替换2个单词之间的内容

php - Yii 框架 + WP 风格(使用 WP 数据库表)后层次结构 : I need to order categories and subcategories

php - 导出与盒喷嘴

perl - 如何更改 ExtUtils::Makemaker 中保存测试文件的目录?