前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql学习笔记(十三)- 应用优化

Mysql学习笔记(十三)- 应用优化

作者头像
写一点笔记
发布2020-12-31 10:16:33
3760
发布2020-12-31 10:16:33
举报
文章被收录于专栏:程序员备忘录程序员备忘录

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

1.使用连接池

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

2.减少对mysql的访问

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

3.使用查询缓存

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

代码语言:javascript
复制
show variables like '%query_cache%'
代码语言:javascript
复制
# 高速缓存
hava_query_cache=YES
# 单个结果集的最大空间
query_cache_limit=10
# 每个被缓存的结果集要占用的最小内存。
query_cache_min_res_unit=10
#缓存区域的大小,单位M
query_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解析的速度

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-12-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员备忘录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档