千万级别数据实时复杂统计效率优化

  有个业务需求:千万级别数据,要根据位置、白天出现时间、晚上不出现时间,出现次数大于某个范围的复杂组合统计。

mysql在千万级别的数据时,查询效率就有明细的下降。而时间数据从上千万级上升到上亿级,查询效率很慢,等待很久。

除了加索引等常规优化,想到用 shardingsphere 来分库分表,调研之后,发现 
shardingsphere 不支持having等统计查询,对子查询支持也不是非常友好。ShardingSphere不支持的SQL操作(having等复杂统计及子查询)

  后来发现这些数据,大部分数据其实是很难用到到,因为业务要统计大于多少次的,并按次数倒序,于是把那些出现次数少的进行删除,数据一下降到百万级别的,查询效率明细提升。

优化不光是考虑技术上的,一些技术难做到的,还要结合业务进行优化。

你可能感兴趣的:(数据库开发)