• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

MySQL查询缓存设置 拔高MySQL查询性能_mysql

mysql 搞代码 7年前 (2018-06-06) 291次浏览 已收录 0个评论

mysql查询缓存设置 提高MySQL查询性能

    首先看看MSYQL逻辑框架:图片来自高性能mysql

     MySQL查询缓存设置 拔高MySQL查询性能_mysql

    如果使用了QueryCache,当查询接收到一个和之前同样的查询,服务器将会从查询缓存中检索结果,而不是再次分析和执行相同的查询。这样就能大大提高查询性能。

    打开查询缓存,要通过几个步骤来设置:

    虽然你设置mysql允许查询缓存,但是如果你设置的查询缓存大小为了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 打开的情况下,如果你不想使用缓存,需要指明selectsql_no_cache id,name from tableName;

    当然也可以禁用查询缓存: mysql> set session query_cache_type=off;

    当然也可以使用命令打开查询缓存:mysql> set session query_cache_type=on;

    这里我们不讨论这个,我们演示常用的设置。

    二、 系统变量 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 |

    +—————————+

    上面是 mysql设置默认的,有的版本好像默认是0的,那么就要自己设置下。

    设置 set @@global.query_cache_size=100000; 这里是设置1M左右。

    再次查看下 select @@global.query_cache_size;

    显示我们设置新的大小,表示设置成功。

    MySQL查询缓存设置 拔高MySQL查询性能_mysql

    四、 query_cache_limit 控制缓存查询结果的最大值

    例如: 如果查询结果很大, 也缓存?这个明显是不可能的。

    MySql 可以设置一个最大的缓存值来限制缓存,当你查询缓存数结果数据超过这个值就不会进行缓存。缺省为1M,也就是超过了1M查询结果就不会缓存。

    1. mysql> select @@global.query_cache_limit;

    +—————————-+

    | @@global.query_cache_limit |

    +—————————-+

    | 1048576 |

    +—————————-+

    这个是默认的数值,如果需要修改,就像设置缓存大小一样设置,使用set重新指定大小。

    好了,通过4个步骤就可以 打开查询缓存了,具体值的大小和查询的方式 这个按需求来设定!。

欢迎大家阅读《MySQL查询缓存设置 拔高MySQL查询性能_mysql》,跪求各位点评,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MySQL查询缓存设置 拔高MySQL查询性能_mysql

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址