如何进行数据库的优化

优化的目的

  • 找出系统的瓶颈,提高MySQL数据库的整体性能
  • 优化结构设计和参数调整,提高用户的响应速度,同时还要节约系统资源,让系统满足更高的负荷。

软优化:一般是操作数据库即可

  • 在MySQL中尽量使用JOIN来代替子查询,因为子查询需要嵌套查询
  • 嵌套查询时会建立一张临时表,临时表的建立和删除都会有较大的系统开销,而连接查询不会创建临时表,因此效率比嵌套子查询高
  • 从索引 角度出发 
  • like关键字匹配’%’开头的字符串,不会使用索引
  • or关键字用到的两个字段必须都是用了索引,该查询才会使用索引
  • 使用多列索引必须满足最左匹配
  • 对于字段较多的表,如果某些字段使用频率较低,应该将其分离出来从而形成新的表。

硬优化

  1. 配置多核和频率高的cpu,多核心可以执行多个线程
  2. 配置大内存,提高内存,即可提高缓存区容量,因此能减少磁盘I/O时间,从而提高响应速度
  3. 配置高速磁盘或合理分布磁盘,高速磁盘提高I/O, 分布磁盘能提高并行操作的能力。
  4. 分库分表(比如根据身份证号的最后一位,拆分为多个表, 0的单独为一张,1的单独为一张,......,查询的时候根据最后一位在对应的分表中查找即可,可以提高性能)、读写分离
  5. 缓存集群-增加一个cache层,让90%的请求数据只需要访问cache层即可,减少的DB的压力,保证了DB整体的执行效率,比如使用redis,分担数据库的压力,保证数据库的稳定和效率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值