mysql 在分库分表中,如何处理分页查询

不想养狗不想养猫,只想养你,毕竟养猪能致富。

 

- 数据库分片:将一个大的数据库拆分成多个小的数据库,每个小的数据库称为一个分片。
- 数据表分片:将一个大的数据表拆分成多个小的数据表,每个小的数据表称为一个分片。
- 分片键:用于将数据分散到不同的数据库或数据表中的字段。
- 路由:将查询请求路由到正确的数据库或数据表中。

 

实现分页操作方法

1、使用分片键进行分页:将分片键加入到查询条件中,这种方法需要在每个分片上执行查询,然后将结果合并,这会带来性能问题。

2、使用全局序列号进行分页:使用全局序列号作为主键,这种方法可以避免在每个分片上执行查询,但是需要维护全局序列号的唯一性,这会带来一些复杂性。

3、使用分布式缓存进行分页:将查询结果缓存到分布式缓存中,这种方法可以避免在每个分片上执行查询,但是需要额外的缓存机制,这会带来一些复杂性。

 

方法补充:

1、全局查询法:这种方案最简单,但是随着页码的增加,性能越来越低。

2、禁止跳页查询法:这种方案是在业务上更改,不能跳页查询,由于只返回一页数据,性能较高。

3、二次查询法:数据精确,在数据分布均衡的情况下适用,查询的数据较少,不会随着翻页增加数据的返回量,性能较高。

 

posted @ 2022-07-07 09:01  方达达  阅读(394)  评论(0编辑  收藏  举报