引用
MySQL查询缓存设置 提高MySQL查询性能
发表于153 天前 ⁄ MySQL优化 ⁄ 暂无评论 从 MySQL4开始,出现了QueryCache查询缓存,如果使用了QueryCache,当查询接收到一个和之前同样的查询,服务器将会从查询缓存种检索结果,而不是再次分析和执行上次的查询。这样就大大提高了性能,节省时间,非常有用。
打开查询缓存,是通过几个步骤来设置的,例如:虽然你设置Mysql允许查询缓存,但是如果你设置的查询缓存大小为了0,这和没有允许没什么区别。所以必须是几个步骤的设置才能真正打开查询缓存这个功能。
下面我用 mysql6.0 最为演示最常用的设置查询缓存
第一: query_cache_type 使用查询缓存的方式
一般,我们会把 query_cache_type 设置为 ON,默认情况下应该是ON
1.mysql> select @@query_cache_type;
+——————–+
| @@query_cache_type |
+——————–+
| ON |
+——————–+
这样 当我们执行 select id,name from tableName; 这样就会用到查询缓存。在 query_cache_type 打开的情况下,如果你不想使用缓存,需要指明select sql_no_cache id,name from tableName;当然也可以禁用查询缓存: mysql> set session uery_cache_type=off;
这里我们不讨论这个,我们演示常用的设置。
第二: 系统变量 have_query_cache 设置查询缓存是否可用
1.mysql> show variables like 'have_query_cache';
+——————+——-+
| Variable_name | Value |
+——————+——-+
| have_query_cache | YES |
+——————+——-+
上面的显示,表示设置查询缓存是可用的。
第三: 系统变量 query_cache_size
表示查询缓存大小,也就是分配内存大小给查询缓存,如果你分配大小为0,
那么 第一步 和 第二步 起不到作用,还是没有任何效果。
1.mysql> select @@global.query_cache_size;
+—————————+
| @@global.query_cache_size |
+—————————+
| 16777216 |
+—————————+
上面是 mysql6.0设置默认的,之前的版本好像默认是0的,那么就要自己设置下。
设置 set @@global.query_cache_size=1000000; 这里是设置1M左右,900多K。
再次查看下 select @@global.query_cache_size;
+—————————+
| @@global.query_cache_size |
+—————————+
| 999424 |
+—————————+
显示我们设置新的大小,表示设置成功。
第四: query_cache_limit 控制缓存查询结果的最大值
例如: 如果查询结果很大, 也缓存????这个明显是不可能的。
MySql 可以设置一个最大的缓存值,当你查询缓存数结果数据超过这个值就不会
进行缓存。缺省为1M,也就是超过了1M查询结果就不会缓存。
1.mysql> select @@global.query_cache_limit;
+—————————-+
| @@global.query_cache_limit |
+—————————-+
| 1048576 |
+—————————-+
这个是默认的数值,如果需要修改,就像设置缓存大小一样设置,使用set重新指定大小。
好了,通过4个步骤就可以 打开了查询缓存,具体值的大小和查询的方式 这个因不同的情况来指定了。
有关MySQL查询缓存更详细的介绍请看:http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html#query-cache
转自:http://hi.baidu.com/aganle/blog/item/49e4703983110b2cb9998f7c.html
分享到:
相关推荐
mysql缓存查询和设置global_query_cache_size
"MySQL缓存的解决方案" MySQL 缓存是提高数据库性能的一种重要手段,它可以减少数据库的读写次数,从而提高系统的整体性能。以下将对 MySQL 缓存的解决方案进行详细的介绍。 缓存的必要性 缓存的主要目的是减少...
研究结论通常会总结优化缓存对MySQL性能提升的具体效果,指出哪些策略最有效,以及在特定工作负载下如何选择最佳的缓存设置。 7. 总结 通过对MySQL缓存的深入研究,我们可以理解缓存在数据库性能中的关键作用,学习...
mysql8的安装配置文件 包含端口 缓存 用户名密码的配置
要启用查询缓存并设置内存大小,可以在MySQL的配置文件(如my.cnf或my.ini)中添加以下行: ```ini query_cache_size = 16M ``` 这将设置查询缓存的大小为16MB。当然,你可以根据服务器的内存大小和系统负载来调整...
### MySQL缓存优化详解 #### 一、MySQL存储引擎概览与选择 ##### 1.1 存储引擎类型 MySQL 提供了多种存储引擎,每种引擎都有其独特的优势和适用场景。以下是最常见的几种存储引擎: - **MyISAM**:MySQL 的默认...
### Redis作为MySQL缓存服务器(公司内部培训资料) #### 一、Redis简介 Redis是一种开源的键值存储系统,主要用于高速缓存数据。与Memcached相比,虽然两者都基于内存进行数据存储以确保高效率,但Redis具备更...
2,设置连接数,mysql默认的连接数是100,太少了。 [mysqld]下面添加 max_connections=512 3,开启缓存机制 skip-locking#取消文件系统的外部锁 key_buffer = 512M#索引缓存,根
C/C++实现mysql数据库的缓存管理 Linux下用C/C++写一个提高mysql数据库效率的数据缓存模块 缓存管理 window下用C/C++写一个提高mysql数据库效率的数据缓存模块 C/C++ mysql缓存 缓存 PS:记得要先把数据库给搭建起来
MySQL的查询缓存并非缓存执行计划,而是查询及其结果集,这就意味着只有相同的查询操作才能命中缓存,因此MySQL的查询缓存命中率很低,另一方面,对于大结果集的查询,其查询结果可以从cache中直接读取,有效的提升...
可将如下语句 query_cache_size = 268435456 query_cache_type = 1 query_cache_limit = 1048576 存放到/etc/my.cnf文件的[mysqld]下 然后重启mysql数据库 service mysqld restart 就会启动mysql的缓存机制Query ...
提高MySql查询性能 - 打开和设置查询缓存 视频教程 京华志&精华志出品 希望大家互相学习,互相进步 支持CSDN 支持微软 主要包括C# ASP.NET SQLDBA 源码 毕业设计 开题报告 答辩PPT等等好多知识
- 缓存机制:`MysqlHelper`可能会包含一个缓存层,如使用`System.Runtime.Caching`命名空间中的`MemoryCache`类,来存储频繁查询的结果,减少对数据库的访问,提高性能。 - 缓存策略:缓存的添加、过期和清理策略...
在 MySQL 的配置文件(通常是 `my.cnf` 或 `my.ini`)中,可以通过设置以下参数来启用查询缓存: ```ini [mysqld] query_cache_type=1 query_cache_limit=2M query_cache_size=64M ``` - `query_cache_type` 设置...
- `query_cache_size`参数用于设置查询缓存的大小。过大可能浪费内存,过小则可能无法提供有效的缓存效果。根据实际需求调整此参数。 5. **缓存策略**: - MySQL的查询缓存对所有用户可见,这意味着一个用户的...
MySQL缓存优化是数据库性能提升的关键一环,尤其在高并发和大数据量的场景下,合理利用缓存能显著减少磁盘I/O操作,提高查询速度。本文将深入探讨MySQL中的各种缓存机制及其优化策略。 首先,我们关注的是查询缓存...
服务器缓存是提升网站或应用性能...服务器缓存设置和管理是一项细致而重要的工作,需要根据实际业务需求和服务器资源状况灵活调整。正确运用服务器缓存工具,可以显著提升系统效率,为用户提供更快、更稳定的访问体验。
MySQL的缓冲和缓存设置是数据库性能优化的关键因素,尤其是在高并发和大数据量的场景下。本文将深入探讨MySQL中涉及的几个重要缓存设置,包括表缓存、线程缓存、关键字缓冲区和临时表的内存使用。 首先,我们关注的...
C/C++实现mysql数据库的缓存管理 Linux下用C/C++写一个提高mysql数据库效率的数据缓存模块 缓存管理 window下用C/C++写一个提高mysql数据库效率的数据缓存模块 C/C++ mysql缓存 缓存 PS:记得要先把数据库给搭建起来