数据优化的方式

  • 首先是sql优化

(包括设计数据库字段结构、索引等优化;还有就是优化sql语句)

  1. 结合explain分析语句
  2. 优化索引
  3. 减少表连接,可适当增加冗余字段(该字段的更新操作的频率要小)
  4. 多表连接情况下,把表数据量大的放于最前面,可以减少查询行数
  5. 避免使用左模糊查询和全模糊查询,用 inStr()、chartIndex()替换,或使用搜索引擎
  6. 避免对字段进行NULL值判断(这样会放弃索引,走全表扫描),使用 not null + default 的方式设计字段
  7. 查询的字段写出具体的列明,不要使用 *
  8. 避免使用in和not in(会导致全表扫描),如果是连续数值,用between代替;如果是子查询,用exists代替
  • 读写分离

在大量的读操作在进行的时候,同时可能会有少量的写操作,但是写操作一般是加了写锁的,会阻塞读操作的线程,产生大量的读写锁冲突,数据库的读会成为数据库的性能瓶颈。这时候,就要采用读写分离。

可以一个master数据库用来写数据操作,多个slave数据库用来读数据库操作,构成数据库的主从结构。配置好他们的主从复制,当数据写进master主数据库后,通过某种机制自动将数据同步到各个slave从数据库,这样读数据跟写数据分开不同的数据库,防止写锁的阻塞。

  • 分库分表

当数据库中含有大量数据,请求的并发数也很高的时候,就要采用分库分表了。分表主要是为了解决单表数据量过大的问题,而分库主要是为了解决数据库每秒并发数大过大的问题。

粘上一个详细的分库分表介绍: https://blog.csdn.net/weixin_42132143/article/details/107254910

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值