Mysql---第六篇

系列文章目录


文章目录

  • 系列文章目录
  • 一、分表后非sharding_key的查询怎么处理,分表后的排序?
  • 二、mysql主从同步原理


一、分表后非sharding_key的查询怎么处理,分表后的排序?

  1. 可以做一个mapping表,比如这时候商家要查询订单列表怎么办呢?不带user_id查询的话你总不
    能扫全表吧?所以我们可以做一个映射关系表,保存商家和用户的关系,查询的时候先通过商家查
    询到用户列表,再通过user_id去查询。
  2. 宽表,对数据实时性要求不是很高的场景,比如查询订单列表,可以把订单表同步到离线(实时)
    数仓,再基于数仓去做成一张宽表,再基于其他如es提供查询服务。
  3. 数据量不是很大的话,比如后台的一些查询之类的,也可以通过多线程扫表,然后再聚合结果的方
    式来做。或者异步的形式也是可以的。
    union
    排序字段是唯一索引:
    首先第一页的查询:将各表的结果集进行合并,然后再次排序
    第二页及以后的查询,需要传入上一页排序字段的最后一个值,及排序方式。
    根据排序方式,及这个值进行查询。如排序字段date,上一页最后值为3,排序方式降序。查询的

你可能感兴趣的:(mysql,数据库,oracle)