MySQL 查询缓存数据库
2011-03-03 16:53
309 查看
从 MySQL 4.0.1 开始,MySQL server 有一个重要的特征:Query Cache。 当在使用中,查询缓存会存储一个 SELECT 查询的文本与被传送到客户端的相应结果。如果之后接收到一个同样的查询,服务器将从查询缓存中检索结果,而不是再次分析和执行这个同样的查询。
注意:查询缓存绝不返回过期数据。当数据被修改后,在查询缓存中的任何相关词条均被转储清除。
在某些表并不经常更改,而你又对它执行大量的相同查询时,查询缓存将是非常有用的。对于许多 WEB 服务器使用大量的动态信息,这是一个很典型的情况。
下面是查询缓存的一个性能数据。(这些结果的产生,是通过在一个 a Linux Alpha 2 x 500 MHz、2GB RAM 和 64MB 查询缓存上执行 MySQL 基准套件和到的):
如果你执行的所有查询均是简单的(比如从表中一行一行的选取);但是仍然是不同的,所以该查询不能被缓冲,查询缓存处于活动时,开销为 13%。这可以被看作是最差的情况。然而,在实际情况下,查询是比我们的简单示例要复杂得多的,所以开销通常显著得低。
在只有一行记录表中搜索一行后,搜索将快 238% 。这可以被认为是接近于对一个被缓冲的查询所期望的最小的加速。
如果你希望禁用查询缓存,设置 query_cache_size=0。禁用了查询缓存,将没有明显的开销。(在配置选项 --without-query-cache 的帮助下,查询缓存可以被排除在外码之外)
查询缓存如何运作
查询在分析之前先被比较,因而
SELECT * FROM tbl_name
注意:查询缓存绝不返回过期数据。当数据被修改后,在查询缓存中的任何相关词条均被转储清除。
在某些表并不经常更改,而你又对它执行大量的相同查询时,查询缓存将是非常有用的。对于许多 WEB 服务器使用大量的动态信息,这是一个很典型的情况。
下面是查询缓存的一个性能数据。(这些结果的产生,是通过在一个 a Linux Alpha 2 x 500 MHz、2GB RAM 和 64MB 查询缓存上执行 MySQL 基准套件和到的):
如果你执行的所有查询均是简单的(比如从表中一行一行的选取);但是仍然是不同的,所以该查询不能被缓冲,查询缓存处于活动时,开销为 13%。这可以被看作是最差的情况。然而,在实际情况下,查询是比我们的简单示例要复杂得多的,所以开销通常显著得低。
在只有一行记录表中搜索一行后,搜索将快 238% 。这可以被认为是接近于对一个被缓冲的查询所期望的最小的加速。
如果你希望禁用查询缓存,设置 query_cache_size=0。禁用了查询缓存,将没有明显的开销。(在配置选项 --without-query-cache 的帮助下,查询缓存可以被排除在外码之外)
查询缓存如何运作
查询在分析之前先被比较,因而
SELECT * FROM tbl_name
相关文章推荐
- 高并发时,读文件、读SESSION、读缓存(Redis)和读数据库(Mysql)的查询效率哪家强?
- MySql查询缓存机制
- mysql处理上百万条的数据库如何优化语句来提高处理查询效率
- mysql和redis数据库的查询添加脚本
- mysql 查询语句统计和查询缓存相关的状态值解疑答惑
- \t\tmysql 数据库查询新闻的上一篇和下一篇
- Mysql 查询缓存
- MySQL加速查询速度的独门武器:查询缓存
- MySQL集群:主从数据库配置 实现查询负载
- 查询mysql中所有数据库名称
- MySQL 数据库 高级查询
- JSP+JDBC+MYSQL 查询数据库内容
- MySQL 数据库性能优化之缓存参数优化
- MySQL-查询结果缓存
- MySQl心得4--4--数据库查询4--子查询
- [置顶] 【mysql 缓存】开启MySQL查询缓存
- mysql自学,数据库基本操作语句_查询_插入_更新
- Mysql的查询缓存区的优化
- 清空mysql 查询缓存的可行方法
- 南哥带你学数据库之 MySQL 查询与约束