【发布时间】:2012-03-20 19:44:01
【问题描述】:
,这个问题可能是主观的,但是已经出现了很多“网格”Javascript插件来帮助对表格进行分页和排序。它们通常以两种方式工作,第一种也是最简单的方法是,它采用现有的 HTML <table> 并将其转换为可排序和可搜索的信息。第二个是将信息传递给服务器并让服务器从数据库中选择要显示的信息。
我的问题是:在什么时候(大小明智)使用服务器端处理与显示所有数据并让“网格插件”将其转换为可排序/可搜索的表客户端更有效 -一边?
以datatables 为例,我必须执行至少 3 次查询才能获得表中的总行数、分页的总过滤结果以及要为特定选定页面显示的过滤结果。然后每次我排序时,我都会再次查询。每次我移动到另一个页面,或者在表格中搜索时,都会有更多的查询。
如果我要在客户端访问页面时提取一次数据,我将执行单个查询,然后将结果格式化并将结果一次性推送到客户端。这会增加页面大小,并且一旦页面变得太大,可能会延迟页面的加载。好处是只有一个查询,所有的排序、搜索和分页都由插件处理,因此无需等待响应,也不会再进行查询。
如果我只有几行,我想在页面加载时将格式化的表格数据推送到客户端会是最快的。但是对于数千行,切换到服务器端将是最有效的方式。
转折点在哪里?是否有一个临界点,或者服务器端或客户端是 100% 的方法?
【问题讨论】:
标签: ajax jqgrid datatables flexigrid