博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL数据库的查询缓冲机制
阅读量:6669 次
发布时间:2019-06-25

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

MySQL数据库的查询缓冲机制

2011-08-10 11:07 佚名 火魔网
字号:T | T

使用查询缓冲机制,可以极大地提高MySQL数据库查询的效率,节省查询所用的时间。那么查询缓冲机制是怎样设置的呢?本文我们就来介绍这部分内容,希望能够对您有所帮助。

AD:

MySQL数据库提供了查询缓冲机制。使用该查询缓冲机 制,MySQL将SELECT语句和查询结果存放在缓冲区中,以后对于同样的SELECT语句(区分大小写),将直接从缓冲区中读取结果。以节省查询时 间,提高了SQL查询的效率。本文我们主要就介绍一下MySQL数据库的查询缓冲机制,接下来就让我们来一起了解一下这部分内容。

通过调节以下几个参数可以知道query_cache_size设置得是否合理:

Qcache inserts

Qcache hits

Qcache lowmem prunes

Qcache free blocks

Qcache total blocks

Qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况,同时Qcache_hits的值非常大,则表明查询缓冲使用 非常频繁,此时需要增加缓冲大小Qcache_hits的值不大,则表明你的查询重复率很低,这种情况下使用查询缓冲反而会影响效率,那么可以考虑不用查 询缓冲。此外,在SELECT语句中加入SQL_NO_CACHE可以明确表示不使用查询缓冲。

Qcache_free_blocks,如果该值非常大,则表明缓冲区中碎片很多query_cache_type指定是否使用查询缓冲。

如果设置为:

query_cache_size = 32M

query_cache_type= 1

得到如下状态值:

Qcache queries in cache 12737 //表明目前缓存的条数。

Qcache inserts 20649006

Qcache hits 79060095 //看来重复查询率还挺高的。

Qcache lowmem prunes 617913 //有这么多次出现缓存过低的情况。

Qcache not cached 189896

Qcache free memory 18573912 //目前剩余缓存空间。

Qcache free blocks 5328 //这个数字似乎有点大,碎片不少

Qcache total blocks 30953

如果内存允许,还可以将query_cache_size再设大一些。

关于MySQL数据库查询缓存机制的介绍就到这里了,如果您想了解更多MySQL数据库的知识,可以去这里看一看:,相信一定能够给您带来收获的!

转载于:https://www.cnblogs.com/zhengah/p/4626389.html

你可能感兴趣的文章
ireport如何拼接sql?
查看>>
Redis集群架构
查看>>
POJ3617 Best Cow Line【水题】
查看>>
B00005 函数atoi()(去空格,带符号)
查看>>
Bootstrap 简介: 创建响应式、移动项目的工具
查看>>
gulp的流与执行顺序
查看>>
8_任意系统命令执行
查看>>
分享讨论
查看>>
java~springboot~h2数据库在单元测试中的使用
查看>>
Nuget~管理自己的包包
查看>>
基础才是重中之重~你是否真正在用MVC路由功能~续
查看>>
sql 学习
查看>>
Javascript模块化编程(三)require.js的用法及功能介绍
查看>>
微信小程序云开发项目实战进阶 - 诗词大全&成语接龙
查看>>
mysql的下载安装
查看>>
WebConfigurationManager读写配置文件
查看>>
责任链模式
查看>>
自适应网页制作总结
查看>>
jquery-easyui 树的使用笔记
查看>>
Software Code Reading & Reading
查看>>