MySQL进阶(8)——应用优化以及查询缓存、内存管理优化

1、应用优化

前面介绍了许多数据库的优化策略,但是在实际生产环境中,由于数据库本身的性能局限性,就必须对前台的应用进行一些优化,来降低数据库的访问压力。

1.1、使用连接池

对于访问数据库来说,建立连接的代价是比较昂贵的,因为我们频繁的创建关闭连接,是比较耗费资源的,我们有必要建立 数据库连接池,以提高访问性能。

1.2、减少对 MySQL 的访问

1.2.1、避免对数据进行重复检索

在编写应用代码时,需要能够理清对数据库的访问逻辑。能够一次连接就获取到结果的,就不用两次连接,这样可以大大减少对数据库无用的重复请求。
比如,需要获取书籍的 id 和 name 字段,则查询如下:

select id, name from tb_book;

之后,在业务逻辑中有需要获取到书籍状态信息,则查询如下:

select id, status from tb_book;

这样,就需要向数据库提交两次请求,数据库就要做两次查询操作。其实完全可以用一条 SQL 语句得到想要的结果。

select id, name, status from tb_book;
1.2.2、增加cache层

在应用中,我们可以在应用中增加 缓存层,来达到减轻数据库负担的目的。缓存层有多种,也有多种实现方式,只要能达到降低数据库的负担,又能满足应用需求就可以。
因此可以部分数据从数据库中抽取出来放到应用端以文本方式存储,或者使用框架提供的一级缓存/二级缓存,或者使用 redis 数据库来缓存数据。

1.3、负载均衡

负载均衡是应用中使用非常普遍的一种优化方法,他的机制就是利用某种均衡算法,将固定的负载量分布到不同的服务器上,以此来降低单台服务器的负载,达到优化的效果。

1.3.1、利用mysql复制分流查询

通过MySQL的主从复制,实现读写分离,使增删改操作走主节点,查询操作走从节点,从而可以降低单台服务器的读写压力。
在这里插入图片描述

1.3.2、采用分布式数据库架构

分布式数据库架构适合大数据、负载高的情况,它有良好的拓展性和高可用性。通过在多台服务器之间分布数据,可以实现在多台服务器之间的负载均衡,提高访问效率。

2、MySQL 中查询优化

2.1、概述

开启 MySQL 的查询缓存,当执行完全相同的 SQL 语句的时候,服务器就会直接从缓存中读取结果ÿ

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值