Pagination 哪种方法是进行分页的最佳方法,以使服务器上的负载最小
我对分页做了一些研究,从我所读到的内容来看,有两个相互矛盾的解决方案Pagination 哪种方法是进行分页的最佳方法,以使服务器上的负载最小,pagination,operation,Pagination,Operation,我对分页做了一些研究,从我所读到的内容来看,有两个相互矛盾的解决方案 每次用户单击“下一步”时,从数据库加载一小部分数据 问题-假设有一百万行满足任何WHERE条件。这意味着将检索、存储和文件排序一百万行,然后丢弃其中大部分,只检索20行。如果用户单击“下一步”按钮,同样的过程再次发生,只会检索到不同的20。(参考-http://www.mysqlperformanceblog.com/2008/09/24/four-ways-to-optimize-paginated-displays/) 从
通过网络传输大量结果集我的公司正是这种情况,我们选择了一种混合模式。我们的数据是表格格式的,所以我们通过AJAX将其发送到服务器,这样就可以实现良好的UI格式设置、排序、过滤以及列的显示/隐藏。Datatables有一个很好的解决方案,它将“提前排队”,称为“流水线”,它将在用户操作之前获取大量数据(在我们的例子中,最多是他们请求的记录的5倍),然后无请求地翻页,直到数据用完为止。使用Datatables实现起来非常容易,但我怀疑,如果必须使用jQuery的AJAX功能手工编写,那么类似的解决方案也不难 我试着在一个150万条记录的数据库上进行满负荷缓存,结果是火车失事了。客户差点把我甩了,因为他们气得太慢了。在一夜的阿贾克斯之旅之后,客户再次感到高兴。但最好不要到那个地步
祝你好运。我的公司正处于这种情况,我们选择了一款混合动力车。我们的数据是表格格式的,所以我们通过AJAX将其发送到服务器,这样就可以实现良好的UI格式设置、排序、过滤以及列的显示/隐藏。Datatables有一个很好的解决方案,它将“提前排队”,称为“流水线”,它将在用户操作之前获取大量数据(在我们的例子中,最多是他们请求的记录的5倍),然后无请求地翻页,直到数据用完为止。使用Datatables实现起来非常容易,但我怀疑,如果必须使用jQuery的AJAX功能手工编写,那么类似的解决方案也不难 我试着在一个150万条记录的数据库上进行满负荷缓存,结果是火车失事了。客户差点把我甩了,因为他们气得太慢了。在一夜的阿贾克斯之旅之后,客户再次感到高兴。但最好不要到那个地步 祝你好运