欢迎光临seo外链网站,制定符合客户需求的方案,专注提高链接的质量与传播速率!

seo外链网站注重优化推广外链,提高链接的质量与传播速率!

为您客户找到更好的流量资源,充分发挥产品优势

数据库单表数据量太大的优化方案总结

作者:jcmp      发布时间:2021-04-27      浏览量:0
场景:一个表每天新增几万数据,目前单表总

场景:一个表每天新增几万数据,目前单表总数据量在几百万数据。会查询粒度大的统计数据,也会查询粒度比较小的数据,当天更新的数据查询频率最密,最近几天的数据次之。 随着数据越来越多,数据库的性能开始变低。那么应该从哪些角度出发思考优化方案? 1.从时间特征出发:看看大约的更新时间点,在这个时间点之前的当天数据查询,直接返回“没有更新”提示,不用查库; 2.从数据特征出发: 1)热点数据是当天的数据,所以可以设立一张当天数据表,在更新到原表的同时,也更新到当天数据表。查当天数据的时候就访问这张表,由于数据量更小,所以查询速度会更快。第二天将此表清空,再次同步数据。但这个方案的缺陷是数据会冗余,而且万一要看前几天的数据,那和查前几个月的数据一样慢; 2)有时候需要查询粒度大的数据,所以可以在同步数据的同时,统计数据并存储起来,加快查询统计数据的速度;不过也是会造成数据冗余; 3.从查询优化出发:优化sql: 1)减少嵌套子查询、查询连续数据时用between and代替in等; 2)加上索引,但加索引可能会影响更新效率,用explain执行计划查看优化效率,结合理论知识找出权衡最佳的索引组合; 4.单表数据量太大,负荷过重,会影响sql执行的性能。为了加快查询和更新速度,最佳的解决方法是分表,可以根据数据的冷热、更新时间(数据连续)、某个的哈希值(数据不连续)来进行水平拆分。但要确保每个单表的数据量在一定的范围内; 以上是适合上述场景的优化方案,事实上优化处理的方式还有很多,但务必结合具体的场景情况分析。