在设计开发一个系统时分页是基本的功能之一,但是如何选择分页策略却是一个比较困难的问题,如果选择不对可能适得其反。
选择分页策略需要考虑的几个因素:

  1. 系统的数据的成长性,特别是时间敏感的成长性。
  2. 数据的更新频率,数据内容是否经常更新。
  3. 数据的大小,特别是常用数据的大小。
  4. 系统的用户的要求,例如用户对系统的反应速度要求比较高。
  5. 系统的硬件设施,例如最关键的数据库服务器的负载能力,应用服务器的负载能力,内存大小。

常见的两种分页,一个是基于缓存的,一个是基于实时查询的,而且这两者没有一个是具有绝对优势的,根据系统的特点采用不同的策略才能达到比较好的效果。根据系统的特点,还可以采用混合模式,也就是查询的时候每次查询的是比每页数据多的数据,例如每次查十页的数据。

对于具有高成长性的系统而言,特别是短时间具有高成长性,而且用户要求实时的结果,那么就不能采用缓存式的方案。
对于数据的更新频率比较大的系统而言,同样不适合采用缓存的方案。
系统的数据量比较大,而系统的内存不是非常的充裕,那么使用缓存方案也是不太现实的。

其实最重要的一个因素就是用户的要求,有的用户更关心系统的反应速度,数据旧一点点没有太大的关系,而有的用户要求实时性高,要求看到的永远是最新的数据。
至于系统的硬件限制就很简单了,但是现在这个一般不是关键的因素。

最终,策略的选择就是这些因素的综合考虑,而且可能也不限定选择一种策略,两种策略都可以提供,用户可以自己在这两种策略间方便的切换,但是在应用缓存方案的时候可以设置一个系统内定的最大记录数防止少数极端情况下导致系统崩溃。

(Visited 250 times, 1 visits today)