初学MySQL之查询缓存
来源:互联网 发布:儿童软件大全 编辑:程序博客网 时间:2024/05/17 22:44
在MySQL服务器端,针对SELECT操作做了查询结果的缓存,缓存查询的文本以及发送的结果。对于一个不经常更新并且需要频繁SELECT的表而言,这样的特性非常有用,比如一些相对稳定的web动态页面。
需要注意以下几点:
1.查询缓存不返回旧的数据。当表更改后,查询缓存值的相关条目被清空。
2. 如果有许多mysqld服务器更新相同的MyISAM(默认存储引擎)表,在这种情况下查询缓存不起作用。
3.查询缓存的SQL语句区分大小写
4.当一个表被更改后(如update、delete、insert等操作),该表所有的缓存都被清空
另外对部分select操作,并不做缓存处理,如下:
1.引用自定义函数(UDFs)。
2.引用自定义变量。
3.引用mysql系统数据库中的表。
4.下面方式中的任何一种:
SELECT ...IN SHARE MODE
SELECT ...FOR UPDATE
SELECT ...INTO OUTFILE ...
SELECT ...INTO DUMPFILE ...
SELECT * FROM ...WHERE autoincrement_col IS NULL
查询缓存可以通过选项SELECT SQL_CACHE。。。。或SELECT SQL_NO_CACHE。。。。来显式指定。
通过have_query_cache服务器系统变量指示查询缓存是否可用:
mysql> SHOW VARIABLES LIKE 'have_query_cache';
此外还有个全局变量query_cache_size来指定高速缓存的大小,可以通过设置该变量来进行配置。
mysql> SET GLOBAL query_cache_size = ??;
注意,由于系统需要分配40KB大小的内存来分配数据结构,因此最好指定query_cache_size的值大于40KB。
但这里对query_cache_size值的设置将影响所有的用户,对于单个客户端,可通过设置会话的方式来对查询缓存进行控制:
mysql> SET SESSION query_cache_type = OFF;
要控制可以被缓存的具体查询结果的最大值,应设置query_cache_limit变量。 默认值是1MB。
////////////////////////
看起来,查询缓存似乎放在共享存储区域,拥有权限的用户都可以进行读取。。。。(有待证实!!)
- 初学MySQL之查询缓存
- MySQL Study之--MySQL查询缓存
- 初学mysql(二)-数据库之表内容单表查询
- 初学mysql(五)-数据库之连接查询、子查询和合并查询
- 关于MYSQL 查询缓存
- mysql 查询缓存
- MySQL 查询缓存数据库
- MySQL查询缓存优化
- MySQL清除查询缓存
- mysql查询缓存
- MySQL查询缓存状态
- MySQL查询缓存设置
- mysql的查询缓存
- mysql查询缓存
- mysql查询缓存
- mysql 查询缓存 query_cache_type
- MySql查询缓存机制
- MySql:查询缓存机制
- linux系统没有网卡驱动的解决办法
- window.opener用法
- 用aurora在word 里直接插入Tex公式
- MFC键盘响应 数字0-9
- delphi TListView的使用
- 初学MySQL之查询缓存
- IE注册表设置安全项
- 单片机的硬件的设计的建议
- STL顺序容器(vector,list,deque)测试
- windows快捷键与自带工具
- 价格战:展讯何以应对联发科?
- 一年多的ACM 谨以此文总结
- js判断undefined类型,undefined,null,NaN的区别
- CSS中轻松实现Firefox与IE透明度