MySql中查询缓存以及sql_cache、sql_buffer_result用法
2012-12-12 16:20
567 查看
sql_cache意思是说,查询的时候使用缓存。
sql_no_cache意思是查询的时候不适用缓存。
sql_buffer_result意思是说,在查询语句中,将查询结果缓存到临时表中。
这三者正好配套使用。sql_buffer_result将尽快释放表锁,这样其他sql就能够尽快执行。
使用
FLUSH QUERY CACHE 命令,你可以整理查询缓存,以更好的利用它的内存。这个命令不会从缓存中移除任何查询。FLUSH TABLES 会转储清除查询缓存。
RESET QUERY CACHE 使命从查询缓存中移除所有的查询结果。
--------------------------------------------------
那么mysql到底是怎么决定到底要不要把查询结果放到查询缓存中呢?
是根据query_cache_type这个变量来决定的。
这个变量有三个取值:0,1,2,分别代表了off、on、demand。
意思是说,如果是0,那么query cache 是关闭的。如果是1,那么查询总是先到查询缓存中查找,除非使用了sql_no_cache。如果是2,那么,只有使用 sql_cache的查询,才会去查询缓存中查找。
sql_no_cache意思是查询的时候不适用缓存。
sql_buffer_result意思是说,在查询语句中,将查询结果缓存到临时表中。
这三者正好配套使用。sql_buffer_result将尽快释放表锁,这样其他sql就能够尽快执行。
使用
FLUSH QUERY CACHE 命令,你可以整理查询缓存,以更好的利用它的内存。这个命令不会从缓存中移除任何查询。FLUSH TABLES 会转储清除查询缓存。
RESET QUERY CACHE 使命从查询缓存中移除所有的查询结果。
--------------------------------------------------
那么mysql到底是怎么决定到底要不要把查询结果放到查询缓存中呢?
是根据query_cache_type这个变量来决定的。
这个变量有三个取值:0,1,2,分别代表了off、on、demand。
意思是说,如果是0,那么query cache 是关闭的。如果是1,那么查询总是先到查询缓存中查找,除非使用了sql_no_cache。如果是2,那么,只有使用 sql_cache的查询,才会去查询缓存中查找。
相关文章推荐
- 【转】mysql的SQL_NO_CACHE(在查询时不使用缓存)和sql_cache用法
- mysql中sql语句中常见的group_concat()函数意思以及用法,oracle中与其一样的功能函数是wmsys.wm_concat()
- SQL with as 的用法 以及递归函数的写法 递归层次查询
- 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma
- MySQL 查询缓存设置(Query Cache Configuration)
- 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma
- SQL查询金额去掉小数点后面的零,以及SUBSTRING的用法
- mysql 查询正在执行的事务以及等待锁 常用的sql语句
- SqlDependency和SqlCacheDependency缓存的用法及具体步骤
- mysql中多个left join子查询写法以及别名用法
- 不同数据库中查询前几条记录的用法(SQL Server/MYSQL /Oracle/Postgresql)
- MySql 5.6 调整buffer和查询缓存的大小
- MySQL开启查询缓存query_cache is disabled
- mysql 查询年龄段,星座以及最近7天生日的sql
- linux缓存机制以及清理buffer/cache/swap
- SQL 多条件查询 IN 成功 以及 patindex用法
- Mysql sql查询时 if 的用法
- MySql Query Cache 查询缓存介绍(1)
- HTML5 webSQL 中查询结果集 result.rows.item 的用法
- 关于ORACLE的硬解析和软解析与MySQL的查询缓存query_cache探讨