位置: 编程技术 - 正文

MySQL高速缓存启动方法及参数详解(query_cache_size)(mysql 缓冲区)

编辑:rootadmin

推荐整理分享MySQL高速缓存启动方法及参数详解(query_cache_size)(mysql 缓冲区),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql缓存大小设置,mysql开启缓存,mysql8.0 缓存,mysql缓存查询结果,mysql缓存大小设置,mysql8 缓存,mysql缓冲和缓存设置详解,mysql8.0 缓存,内容如对您有帮助,希望把文章链接给更多的朋友!

MySQL query cache从4.1版本开始提供了,不过值今天本人才对其进行研究。默认配置下,MySQL的该功能是没有启动的,可能你通过show variables like ‘%query_cache%';会发现其变量have_query_cache的值是yes,MYSQL初学者很容易以为这个参数为YES就代表开启了查询缓存,实际上是不对的,该参数表示当前版本的MYSQL是否支持Query Cache,实际上是否开启查询缓存是看另外一个参数的值:query_cache_size ,该值为0,表示禁用query cache,而默认配置正是配置为0。

配置方法:

在MYSQL的配置文件my.ini或my.cnf中找到如下内容:

# Query cache is used to cache SELECT results and later return them# without actual executing the same query once again. Having the query# cache enabled may result in significant speed improvements, if your# have a lot of identical queries and rarely changing tables. See the# “Qcache_lowmem_prunes” status variable to check if the current value# is high enough for your load.# Note: In case your tables change very often or if your queries are# textually different every time, the query cache may result in a# slowdown instead of a performance improvement.

query_cache_size=0

以上信息是默认配置,其注释意思是说,MYSQL的查询缓存用于缓存select查询结果,并在下次接收到同样的查询请求时,不再执行实际查询处理而直接返回结果,有这样的查询缓存能提高查询的速度,使查询性能得到优化,前提条件是你有大量的相同或相似的查询,而很少改变表里的数据,否则没有必要使用此功能。可以通过Qcache_lowmem_prunes变量的值来检查是否当前的值满足你目前系统的负载。注意:如果你查询的表更新比较频繁,而且很少有相同的查询,最好不要使用查询缓存。

具体配置方法:

1.将query_cache_size设置为具体的大小,具体大小是多少取决于查询的实际情况,但最好设置为的倍数,参考值M。

2.增加一行:query_cache_type=1

query_cache_type参数用于控制缓存的类型,注意这个值不能随便设置,必须设置为数字,可选项目以及说明如下:

如果设置为0,那么可以说,你的缓存根本就没有用,相当于禁用了。但是这种情况下query_cache_size设置的大小系统是否要为其分配呢,这个问题有待于测试?

如果设置为1,将会缓存所有的结果,除非你的select语句使用SQL_NO_CACHE禁用了查询缓存。

如果设置为2,则只缓存在select语句中通过SQL_CACHE指定需要缓存的查询。

OK,配置完后的部分文件如下:

query_cache_size=Mquery_cache_type=1

MySQL高速缓存启动方法及参数详解(query_cache_size)(mysql 缓冲区)

保存文件,重新启动MYSQL服务,然后通过如下查询来验证是否真正开启了:

主要看query_cache_size和query_cache_type的值是否跟我们设的一致:

这里query_cache_size的值是,我们设置的是M,实际是一样的,只是单位不同,可以自己换算下: = **。

query_cache_type设置为1,显示为ON,这个前面已经说过了。

总之,看到上边的显示表示设置正确,但是在实际的查询中是否能够缓存查询,还需要手动测试下,我们可以通过show status like ‘%Qcache%';语句来测试,现在我们开启了查询缓存功能,在执行查询前,我们先看看相关参数的值:

这里顺便解释下这个几个参数的作用:Qcache_free_blocks:表示查询缓存中目前还有多少剩余的blocks,如果该值显示较大,则说明查询缓存中的内存碎片过多了,可能在一定的时间进行整理。Qcache_free_memory:查询缓存的内存大小,通过这个参数可以很清晰的知道当前系统的查询内存是否够用,是多了,还是不够用,DBA可以根据实际情况做出调整。Qcache_hits:表示有多少次命中缓存。我们主要可以通过该值来验证我们的查询缓存的效果。数字越大,缓存效果越理想。Qcache_inserts: 表示多少次未命中然后插入,意思是新来的SQL请求在缓存中未找到,不得不执行查询处理,执行查询处理后把结果insert到查询缓存中。这样的情况的次数,次数越多,表示查询缓存应用到的比较少,效果也就不理想。当然系统刚启动后,查询缓存是空的,这很正常。Qcache_lowmem_prunes:该参数记录有多少条查询因为内存不足而被移除出查询缓存。通过这个值,用户可以适当的调整缓存大小。Qcache_not_cached: 表示因为query_cache_type的设置而没有被缓存的查询数量。Qcache_queries_in_cache:当前缓存中缓存的查询数量。Qcache_total_blocks:当前缓存的block数量。

下边我们测试下:

比如执行如下查询语句

然后执行show status like ‘%Qcache%',看看有什么变化:

对比前面的参数值,我们发现Qcache_inserts变化了。Qcache_hits没有变,下边我们在执行同样的查询select * from user where id = 2,按照前面的理论分析:Qcache_hits应该等于1,而Qcache_inserts应该值不变(其他参数的值变化暂时不关注,读者可以自行测试),再次执行:

show status like ‘%Qcache%',看看有什么变化:

OK,果然跟我们分析的完全一致。

MySQL配置文件my.cnf优化详解(mysql5.5) MySQL5.5.参数说明:[client]character-set-server=utf8port=socket=/data/mysql//mysql.sock[mysqld]character-set-server=utf8user=mysqlport=socket=/data/mysql//mysql.sockbasedir=/usr

Mysql优化调优中两个重要参数table_cache和key_buffer 本文根据作者的一点经验,讨论了Mysql服务器优化中两个非常重要的参数,分别是table_cache,key_buffer_size。table_cache指示表高速缓存的大小。当Mysql访问一

删除MySQL重复数据的方法 本文实例讲述了删除MySQL重复数据的方法。分享给大家供大家参考。具体方法如下:项目背景在最近做的一个linux性能采集项目中,发现线程的程序入库

标签: mysql 缓冲区

本文链接地址:https://www.jiuchutong.com/biancheng/321390.html 转载请保留说明!

上一篇:mysql慢查询使用详解(mysql数据查询慢)

下一篇:MySQL配置文件my.cnf优化详解(mysql5.5)(mysql配置文件my.ini如何创建)

  • 怎么证明自己是建档立卡贫困户
  • 个人所得税如何计算
  • 如何做好存货管理,从哪方面去做
  • 金税盘购买的会计分录
  • 电子承兑汇票贴现流程
  • 开给个人的普票购买方怎么写
  • 研发产品成功入库账务处理
  • 技术服务费怎么结转成本
  • 海关进口增值税专用缴款书如何抵扣
  • 慰问金计入什么明细科目
  • 外账成本倒推表格
  • 航空运单可以作为提货凭证吗
  • 个人房产税延期怎么办理
  • 外币投入的资本
  • 发给职工的福利要交个税吗
  • 原材料计划价实际价区别
  • 公司外来人员进入公司
  • 工资薪金所得适用的税率是
  • 餐饮公司如何挣钱
  • 技术服务发票是劳务发票吗
  • 开淘宝注册公司需要什么
  • 购买垃圾袋的会计分录
  • 店面转让出去收到的钱如何做账?
  • 存货跌价准备在报表什么项目列示
  • 个人所得税累计减免税额为0
  • 生产企业的免抵退纳税申报,在财务做销售收入账务后
  • 支付短期借款利息
  • 科研机构进口直接用于科学研究的仪器免征增值税吗
  • 原材料生产产生的费用
  • 会务费如何入账
  • 跨月冲红发票需收回原发票
  • 企业收入确认的依据是什么
  • 专家评审费是否需要发票
  • 反射调用set方法
  • php string
  • mac怎么删除cineware
  • 无花果的功效与作用对女人的好处
  • 会计差错更正账务处理会计分录
  • 小微企业应纳税所得额300万所得税
  • tp6 分页
  • 语义分割入门教程
  • 未分配利润与净利润关系
  • 如何正确配置防火墙安全策略
  • 个体工商户该如何开发票
  • 发票申请条件
  • 哪些情况进项税不可以抵扣?
  • 会计怎么计算
  • 其他应收款个人挂账很大该怎么处理
  • 总公司签协议,分公司开票,报账怎样写说明
  • 科技型中小微企业贷款贴息贴保项目入库
  • 政府补助的内容
  • 企业的所得税税率怎么计算
  • 对方多开票账务会怎么样
  • 包工包料工程预付款的支付比例
  • 发票保管应由谁保管
  • 实际到货跟采购不一致
  • 凭证过账的步骤
  • 投资方持有的能够对被投资单位实施
  • 加盟店直营店什么意思
  • Cont()与Where().Count()有时性能差别如此之大!
  • Win7 64位旗舰版系统中实现照片的批量重命名
  • xp系统文件夹选项在哪
  • linux修改软件源
  • Win10预览版拆弹
  • linux磁盘格式化后一定会清空数据吗
  • linux文本文件格式
  • linux系统默认启动级别
  • jQuery的ajax中使用FormData实现页面无刷新上传功能
  • 用户体验ui
  • python语言怎么用
  • 猫的所有视频
  • 用简单的方法做好玩的手工视频教程
  • jquery添加文字
  • 简约时尚搭配
  • 四川增值税发票查验平台
  • 山东国税网
  • 税务部门的扣款协议
  • 财产转让所得适用税率
  • 中山市地方税务局官网
  • 生产企业出口退税申报流程操作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设