需要大量记录的分页帮助或建议。
我有400,000条记录,每次进行分页时都会进行分页,并根据限制设置获取设置记录。
我们尝试在没有存储60,000条记录会话值之后将所有记录添加到会话中(这不是很好的选项)。
需要知道任何其他方法可以帮助分页巨大的数据记录。
我可以使用sphinx / memcache吗?
答案 0 :(得分:2)
那么问题是什么?数据库查询应该是命中数据库。有性能问题吗?这可以用适当的索引来弥补。即使你限制在10到20个结果,400k确实不是一个庞大的数据集。
EXPLAIN
将帮助您查看您的sql server正在执行的操作。
如果分页正在刷新页面,你可能想要为更加无缝的ux实现AJAX。
您可以同时使用sphinx或memcached。 Memcached可以更容易实现beucase你可以在点击DB之前先搜索缓存。我认为一些查询/数据库调优可以有很长的路要走。
答案 1 :(得分:1)
您可以使用AJAX检索记录,例如一次100条记录
答案 2 :(得分:0)
你可以使用内存缓存在内存中执行此操作,但这可能会占用大量内存。
如果您的数据集具有递增的键,使用时间或主键auto_increment字段,您可以执行如下所示的查询。
SELECT fieldlists FROM tablename WHERE key > $lastusedkey limit $limit
这可以解决限制可能导致进行分页的应用程序的瓶颈,并且它不需要您将整个数据库放入内存。