MySQL 查询缓存测试
来源:互联网 发布:淘宝网的流程图解 编辑:程序博客网 时间:2024/06/10 18:49
<pre name="code" class="sql">
查找完MySQL查询缓存的相关资料后,自己做了一些测试,整理如下:
查看MySQL的查询缓存参数设置:
<span style="white-space:pre"></span>mysql> show variables like 'query_cache%';<span style="white-space:pre"></span>+------------------------------+-----------+<span style="white-space:pre"></span>| Variable_name | Value |<span style="white-space:pre"></span>+------------------------------+-----------+<span style="white-space:pre"></span>| query_cache_limit | 1048576 |<span style="white-space:pre"></span>| query_cache_min_res_unit | 4096 |<span style="white-space:pre"></span>| query_cache_size | 134217728 |<span style="white-space:pre"></span>| query_cache_type | ON |<span style="white-space:pre"></span>| query_cache_wlock_invalidate | OFF |<span style="white-space:pre"></span>+------------------------------+-----------+<span style="white-space:pre"></span>5 rows in set (0.00 sec)各个参数的含义
query_cache_limit:
参数为能够缓存的单个查询的结果集最大大小,数据库现在为:1M。
query_cache_min_res_unit:
缓存查询结果集时,每次分配的块大小,如果多数查询的结果集比较大,可以通过调大该参数
提高性能。数据库现在为:4K(4096)。
query_cache_size:
参数为查询缓存能够使用的内存大小,数据库现在为:128M。
query_cache_type:
参数为查询缓存开关,数据库现在为:1/ON
0 / OFF: 表示禁用查询缓存
1 / ON : 开启查询缓存,可以通过指定‘SELECT SQL_NO_CACHE’指定不使用查询缓存。
2 / DEMAND:只有使用‘SELECT SQL_CACHE’查询时使用查询缓存。
query_cache_wlock_invalidate:
表加了写锁时是否让包含该表的查询缓存立即失效。数据库现在为:OFF。
mysql> show status like 'Qcache%';+-------------------------+-----------+| Variable_name | Value |+-------------------------+-----------+| Qcache_free_blocks | 902 || Qcache_free_memory | 104841040 || Qcache_hits | 135906729 || Qcache_inserts | 35437870 || Qcache_lowmem_prunes | 1338628 || Qcache_not_cached | 1060101 || Qcache_queries_in_cache | 20230 || Qcache_total_blocks | 41884 |+-------------------------+-----------+8 rows in set (0.00 sec)mysql>
缓存整个数据表大概消耗“.MYD”文件两倍大小的内存。
如page2数据表的磁盘文件大小分别为:
local:test ytc$ du -ch page2*136Mpage2.MYD4.0Kpage2.MYI12Kpage2.frm136Mtotallocal:test ytc$
查询时不同记录数对应的缓存内存大小为:
Qcache_free_memory..... 999981168
select * from page2 limit 1;2184
Qcache_free_memory..... 999978984
select * from page2 limit 10;2768
Qcache_free_memory..... 999976216
select * from page2 limit 100;13744
Qcache_free_memory..... 999962472
select * from page2 limit 1000;123544
Qcache_free_memory..... 999838928
select * from page2 limit 10000;1221544
Qcache_free_memory..... 998617384
select * from page2 limit 100000;12201544
Qcache_free_memory..... 986415840
select * from page2 limit 1000000;122001544
Qcache_free_memory..... 864414296
select * from page2 limit 10000000;255854088
Qcache_free_memory..... 608560208(2097152 lines)
0 0
- MySQL 查询缓存测试
- 关于MYSQL 查询缓存
- mysql 查询缓存
- MySQL 查询缓存数据库
- MySQL查询缓存优化
- MySQL清除查询缓存
- mysql查询缓存
- MySQL查询缓存状态
- MySQL查询缓存设置
- mysql的查询缓存
- mysql查询缓存
- mysql查询缓存
- mysql 查询缓存 query_cache_type
- MySql查询缓存机制
- MySql:查询缓存机制
- MySQL 查询缓存
- MySQL 查询缓存
- mysql无缓存查询
- java nio学习(七)
- [Leetcode] 2 - Add Two Numbers
- opencv学习笔记9 直方图均衡化并绘制直方图
- winform计时器
- 纯C++的Socket访问Http封装类
- MySQL 查询缓存测试
- c++ 配置文件操作类
- IOS中TableView使用注意
- Monkeyrunner 入门1
- log4j彻底研究
- svn使用小结
- 显示当前用户所拥有的表&当前用户可以访问的所有表&数据库中的所有表&当前用户信息&当前用户所能管理的用户&数据库中所拥有的用户
- spring四种依赖注入方式
- 类模板 与 模板类