• 欢迎光临~

记一次Mysql实战设计操作

开发技术 开发技术 2021-07-18 89次浏览

数据量很大时的分页设计

随着业务的不断发展,可能会导致我们的数据数量会越来越庞大,一般我们会对数据进行分页查询。我们可以通过限制分页查询数量来提升查询效率,但是,当我们的页码横跨很大时,譬如,我当前在第一页,通常一页显示10条数据,假如我们总共有10W条数据,就有1w页。此时我想从第一页跳转到第5k页,如果我们还是用传统的分页模式,就会导致查询性能急速下降,这就违背了我们使用分页的初衷了。

如何解决这种问题呢?

利用主键自增以及主键索引快速定位页码(不推荐)

当我们的主键id设置为自增时,由于整个表数据都是有序的,我们便可根据页码信息计算出数据的起始主键id,按照此方法就可以快速查询数据。不过此方案缺点也十分明显,显然,我们需要整张表数据的有效数据的主键都是连续自增的,这就导致在数据变动时,例如删除数据,我们需要维护整个表的主键id以重新达到连续的效果,反而增加了维护成本。

通过业务层限制显示最大页码选择跨度(推荐)

我们可以通过页面来控制用户可以跨度的最大页码范围,我了解到百度,谷歌等公司都是限制10页。也就是说最大允许用户从第一页跨度到第十页,这就完美解决了问题,并且不需要任何成本。

程序员灯塔
转载请注明原文链接:记一次Mysql实战设计操作
喜欢 (0)