概述:
每年大约有几千万近一亿的业务数据量,如何提高查询性能。
具体方案:
- 在表结构初始化阶段时,需要添加查询条件的索引;并且可以使用uuid主键和数字主键的联合业务主键,根据不同场景判断不同的业务主键。
- 设计sql语句时,尽量避免使用group、like、union、函数转换等影响sql性能的条件,尽量做到简化sql,避免一条sql运行时间过长。
- 对于存储海量数据,可以采用按照分表字段进行分表储存的方法,或者使用分表中间件的处理,在这基础上可以添加归档操作。即固定时间条件新建空表(定时归档一个月的数据)建立逻辑表联系所有数据表。
- 针对前台页面首次进入统计页,也可以用redis缓存,通过定时任务的使用,查询需要的统计数据保存在缓存中,前台页面查询的数据皆在缓存中查询对应的数据。将近期(本年月日周)的数据快速的展示。注意:需要比对缓存与数据库实际数量是否一致。
- 中间表的使用。例如可以定时储存每日的数据量,避免查询业务直接操作数据表。
- 对于其他处理方法还有很多很多,比如读写分离,又或是负载均衡。
结语:
不同的业务场景下,选择不同的处理方法,不断学习并不断地优化。
标签:缓存,海量,查询方法,笔记,查询,sql,数据,主键 From: https://www.cnblogs.com/dream-007/p/17088508.html