专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

如何简单粗暴的优化一张数据量增长很快的千万级大表_服务器

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/3/9 3:17:33       共计:3559 浏览

如何简单粗暴的优化一张数据量增长很快的千万级大表?

当一张表的数据量达到千万级别的时候,任何对表的操作都得小心翼翼。核心点在于避免全表扫描、避免锁表、避免产生大量行锁。

本质上是让每一次sql的执行都更快的完成,避免过长时间占用数据库连接,让连接能够迅速的释放回数据库连接池,提供更多稳定的服务。

一旦产生大量的行锁甚至表锁,将会带来连接瞬间被打满、数据库资源耗尽、服务宕机的灾难性后果。所以如何避免以上问题的发生才是最重要的,绝不能等问题发生之后再去解决。

SQL查询的执行路径:

sql优化

所有sql必须命中索引,禁止全表扫描

禁止like查询,会导致全表扫描

where条件必须符合最左前缀查询原则,会无法命中索引,全表扫描

禁止使用!=、<>、OR等操作符,会导致全表扫描

禁止参与列运算例如:sum、date_format,会导致全表扫描

禁止使用is null、is not null等空判断,会导致全表扫描

禁止使用select *,应该明确指定要查询的列,避免大批量数据传输、磁盘读写

用exist代替in

禁止大表连接查询

结构优化

避免大字段和核心数据存储在一张表,可以考虑将大字段拆出来存储到OSS、ES、openSearch等数据源中,通过主键关联的形式查询。

一主多从,读写分离,缓存

主从配置可以支持更多的数据连接,避免了单机连接不足的问题,读写分离可以让读业务走从库,不同的业务走不同的数据库,比如报表业务。

分区分表

分区分表基本上就是终极方案了,水太深,这里不细说了。

以上,纯属扯淡!回到题主的问题,简单粗暴的方案是啥?数据库内存加大!128G、256G上!硬盘采用SSD!一主多从、读写分离,借助阿里云RDS轻松完成,有钱就可以了,分区分表?那就不叫简单粗暴了!几千万数据?so easy!

大家有什么好的简单粗暴的方案?欢迎评论区交流讨论~

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:远程桌面连不上_服务器 | ·下一条:服务器拒绝访问_服务器

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有