如何使用MYSQL语句进行数据缓存?

2021-07-06 15:22:50 0点赞 0收藏 0评论

查询缓存设置

1) 验证服务器是否支持查询缓存

show variables like '%have_query_cache%';

| Variable_name | Value |

| have_query_cache | YES |

2) 查询缓存会受到以下3个系统变量值的影响

show variables like 'query_cache%';

| Variable_name | Value |

| query_cache_limit | 1048576 | //能够缓存的最大结果集大小

| query_cache_min_res_unit | 4096 |

| query_cache_size | 1048576 | //决定为查询缓存分配的内存大小

| query_cache_type | OFF | //决定查询缓存的操作方式

| query_cache_wlock_invalidate | OFF |

那么mysql到底是怎么决定到底要不要把查询结果放到查询缓存中呢?是根据query_cache_type这个变量来决定的。

这个变量有三个取值:0,1,2,分别代表了off、on、demand。

mysql默认为开启 on (1)

如果是0,那么query cache 是关闭的。

如果是1,那么查询总是先到查询缓存中查找,即使使用了sql_no_cache仍然查询缓存,因为sql_no_cache只是不缓存查询结果,而不是不使用查询结果。

如果是2,DEMAND没有使用sql_cache,好像仍然使用了查询缓存

结论:只要query_cache_type没有关闭,sql查询总是会使用查询缓存,如果缓存没有命中则开始查询的执行计划到表中查询数据。

如何使用MYSQL语句进行数据缓存?

文章图片来源:手游

sql_cahce和sql_no_cache hints的使用

为了测试sql语句的效率,有时候要不用缓存来查询。

使用SELECT SQL_NO_CACHE ...语法即可

SQL_NO_CACHE的真正作用是禁止缓存查询结果,但并不意味着cache不作为结果返回给query。

目前的SQL_NO_CACHE有两种解释:

1.对当前query不使用手游数据库已有缓存来查询,则当前query花费时间会多点

2.对当前query的产生的结果集不缓存至系统query cache里,则下次相同query花费时间会多点

sql_cache意思是说,查询的时候使用缓存。

对SQL_NO_CACHE的解释及测试如下:

SQL_NO_CACHE means that thewww.diuxie.com query result is not cached. It does not meanthat the cache is not used to answer the query.

You may use RESET QUERY CACHE to remove all queries from the cache and then your next query should be slow again. Same effect if you change

the table, because this makes all cached queries invalid.

mysql> select count(*) from users where email = 'hello';

| count(*) |

| 0 |

1 row in set (7.22 sec)

mysql> select count(*) from users where email = 'hello';

| count(*) |

| 0 |

1 row in set (0.45 sec)

mysql> select count(*) from users where email = 'hello';

| count(*) |

| 0 |

1 row in set (0.45 sec)

mysql> select SQL_NO_CACHE count(*) from users where email = 'hello';

| count(*) |

| 0 |

1 row in set (0.43 sec)


展开 收起

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

268元起

WPS 金山软件 WPS 超级会员 3年卡

WPS 金山软件 WPS 超级会员 3年卡

388元起

Microsoft 微软 OFFICE 365 家庭版 会员

Microsoft 微软 OFFICE 365 家庭版 会员

238元起

统信 UOS桌面操作系统V20/适用于国产型号/官方正版授权/国产专用

统信 UOS桌面操作系统V20/适用于国产型号/官方正版授权/国产专用

598元起

Microsoft 微软 Office 365 个人版

Microsoft 微软 Office 365 个人版

79元起

Microsoft 微软 到手18.2元/月 微软office365家庭版microsoft365增强版15个月

Microsoft 微软 到手18.2元/月 微软office365家庭版microsoft365增强版15个月

275元起

Microsoft 微软 OFFICE 365 个人版 办公软件

Microsoft 微软 OFFICE 365 个人版 办公软件

199元起

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

676.4元起

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

158元起

365office365OfficePLUS Microsoft365 12 -

365office365OfficePLUS Microsoft365 12 -

235元起

WPS 金山软件 会员季卡

WPS 金山软件 会员季卡

64.6元起

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

暂无报价

国行版 Switch体感游戏套装 《健身环大冒险》

国行版 Switch体感游戏套装 《健身环大冒险》

439元起

Microsoft 微软 618活动6天 office365家庭版microsoft365订阅密钥

Microsoft 微软 618活动6天 office365家庭版microsoft365订阅密钥

235元起

自助挂号应用服务

自助挂号应用服务

15000元起

WPS超级会员2年pdf转word官方正版思维导图排版简历模板赠AI会员

WPS超级会员2年pdf转word官方正版思维导图排版简历模板赠AI会员

264.1元起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松