博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql学习笔记(十三)- 应用优化
阅读量:4210 次
发布时间:2019-05-26

本文共 972 字,大约阅读时间需要 3 分钟。

之前我们学习的都是如何将在数据库层进行优化,那么mysql客户端是否可以进行一些优化,显然我们所要进行的优化就是对数据库连接的优化。

1.使用连接池

使用数据库连接池可以将应用需要的连接在项目启动的时候就创建出来,在每次使用完毕之后根据条件进行回收。如此,应用就不需要进行连接的创建,从而节省连接建立所需要的时间消耗。

2.减少对mysql的访问

减少对mysql的访问,其实就是说我们在编写sql的时候能一次性的获取所需要的数据就不要走多次,对于所需要的数据进行查询就可以,不要查询不需要的数据。

3.使用查询缓存

mysql提供了查询缓存的功能,也就是通过以查询的sql和返回的结果作为key和value,这样查询相同的sql就直接走缓存了。开启高速缓存,我们只需要在my.ini文件中添加下面的配置就可以,作者在本地尝试之后发现mysql无法启动,所以怀疑是版本有问题。大家可以尝试 一下啊。

show variables like '%query_cache%'

# 高速缓存hava_query_cache=YES# 单个结果集的最大空间query_cache_limit=10# 每个被缓存的结果集要占用的最小内存。query_cache_min_res_unit=10#缓存区域的大小,单位Mquery_cache_size=10# 0或者off表示关闭,1或者on表示打开(对使用sql_no_cache提示的select不提供),2表示只有带sql_cache的select语句提供高速缓存query_cache_type=1

4.增加cache层

增加cache层的意思就是在代码中添加缓存,在java中可以通过concumenthashmap做相关的功能。相关的产品比较多。

5.负载均衡

负载均衡的意思就是将sql的负载匹配到不同的mysql服务器上,比如主从复制可以进行有效分流更新和查询,而且具有很好的高可用特性。当然对于不同的物理库,我们也可以创建不同的索引来满足不同的查询需要。

6.其他方面

* 对于没有删除相关操作的myisam,插入和查询可以并行操作

* 利用默认值得特定,在插入数据的时候会减轻sql解析的速度

* 表的字段经量不使用自增变量,在并发情况下自增的对效率影响过大。推荐应用自己提供自增方式。

转载地址:http://vekmi.baihongyu.com/

你可能感兴趣的文章
CSS之浮动(二)
查看>>
记腾讯互娱网站布局(1)
查看>>
记腾讯互娱网站布局(2)
查看>>
记腾讯互娱网站布局(3)
查看>>
大小不固定的图片和多行文字的垂直水平居中
查看>>
display:table-cell的集中应用
查看>>
display:table-cell自适应布局下连续单词字符换行
查看>>
0115 springboot template方式操作mongodb
查看>>
0116 spring的webFlux
查看>>
解决 Asp.net 中,url传参乱码 方法之一:(UrlDecode)
查看>>
pdf的转换网址:
查看>>
c++设计模式之三~抽象工厂模式
查看>>
c++设计模式之单例模式
查看>>
c++设计模式之建造者模式
查看>>
c++设计模式之原型模式
查看>>
c++设计模式之适配器模式
查看>>
c++设计模式之桥接模式
查看>>
c++设计模式之装饰模式
查看>>
Mysql学习笔记(八)- 两个简单实用的优化方法
查看>>
mysql学习笔记(九)- 增删改查的优化
查看>>