SqlServer千万级以上的数据表查询优化方案《冷热数据库分离》的思路

Posted yahzi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlServer千万级以上的数据表查询优化方案《冷热数据库分离》的思路相关的知识,希望对你有一定的参考价值。

1.是分库而不是分表,分表即需要考虑引入分表算法,又影响后续查询。

2.热数据只占全部数据的一部分,因此每次优先查询热库,以下情况才查询冷库

  --a.当查询条件未命中(结果集为空)时,查询冷库。
  --b.当查询条件部分命中时,查询冷库。

3.为了区分部分命中和全部命中,可以在热库中建一张R表存放每次查询冷库的查询条件和查询结果数量,每次查询热库时,对比相同查询条件的查询结果数量是否一致。一致,则本次查询结束。不一致,则需要到冷库中进行查询。

4.更优方案:不一致的情况,只到冷库中查询未查到的数据。此时R表需要存放的不仅是查询结果数量,还有查询结果的所有主键。

5.举例说明:100条中80条还是热数据 20条变成了冷数据 其实应该只是对冷数据库发起这20条数据的请求。此时需要将R表数据拿出来比对,只查一部分冷数据。

6.热库=>冷库 : 查询和使用热数据时,将一段时间不再使用的热数据移到冷库。

7.冷库=>热库 :查询冷库时,将本次查询的结果移到热库,附上最新查询日期。

8.数据同步(每次查询进行或达到一定量级进行)


以上是关于SqlServer千万级以上的数据表查询优化方案《冷热数据库分离》的思路的主要内容,如果未能解决你的问题,请参考以下文章

千万级数据

Elasticsearch 千万级数据查询方案对比

优化MySQL千万级大表优化解决方案

MySQL 对于千万级的大表要怎么优化

MySQL千万级大表优化解决方案

如何做SqlServer 数据查询优化!