MySQL优化(4):查询缓存

MySQL优化(4):查询缓存查询缓存: MySQL提供的数据缓存QueryCache,用于缓存SELECT查询的结果 默认不开启,需要在配置文件中开启缓存(my.ini/my.cnf) 在[mysqld]段中,修改query_c

MySQL优化(4):查询缓存

查询缓存:

MySQL提供的数据缓存QueryCache,用于缓存SELECT查询的结果

默认不开启,需要在配置文件中开启缓存(my.ini/my.cnf)

[mysqld]段中,修改query_cache_type完成配置:

0:关闭

1:开启,但是默认缓存,需要增加sql-no-cache提示,放弃缓存(自动全部存,手动设置哪些不存)

2:开启,但是默认不缓存,需要增加sql-cache提示,执行缓存(不自动存,手动设置存哪些)

配置完毕后重启mysql服务

 

使用命令:

SHOW VARIABLES LIKE "query_cache_type";

代码100分

如果VALUE显示是DEMAND,代表开启了,是2的方式(通常使用2的方式)

 

设置缓存大小:

配置query_cache_size:

代码100分SHOW VARIABLES LIKE "query_cache_size";

查看到VALUE是1048576

修改缓存大小:例如这里修改为64M

SET GLOBAL query_cache_size = 64*1024*1024;

 

如何查询和缓存:

1的情况下直接执行SELECT语句就可以,如果不想缓存,修改语句为:

代码100分SELECT sql_no_cache * FROM STUDENT WHERE ID=1;

2的情况下需要缓存,那么修改语句为:

SELECT sql_cache * FROM STUDENT WHERE ID=1;

 

缓存后,再次执行该SELECT语句耗时接近0秒

 

重置缓存:

RESET QUERY CACHE;

 

缓存失效时间:

如果我们执行这条语句

INSERT INTO STUDENT (ID,USER) VALUES (1,"XXX");

那么上面的缓存将会被删除

也就是说,当数据表改动时,基于该数据表的任何缓存,都会被删除,是一个表层面的管理,而不是记录层面的管理

 

动态数据无法被缓存:

比如当前时间,是无法缓存的

SELECT sql_cache *,NOW() FROM STUDENT;

 

缓存的检索:

缓存的检索是依赖于SQL语句的字符串规则,也就是说,修改了大小写或者多加了一个空格,也会失效

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/9590.html

(0)
上一篇 2023-02-05
下一篇 2023-02-05

相关推荐

  • Python中跳出for循环的方法

    Python中跳出for循环的方法在Python编程中,for循环是一种对于序列进行遍历的常用循环结构。但是,在某些情况下,我们可能需要在循环中提前跳出,或者是跳过某些不需要处理的元素。本篇文章将会介绍Python中跳出for循环的方法。

    2024-08-03
    29
  • 在我们睡觉的时候,程序能不能自动查 bug?「建议收藏」

    在我们睡觉的时候,程序能不能自动查 bug?「建议收藏」作者介绍:我和我的 SQL 队(成员:杜沁园、韩玉博、黄宝灵、满俊朋),他们的项目「基于路径统计的 sql bug root cause 分析」获得了 TiDB Hackathon 2019 的三等…

    2022-12-25
    158
  • Linux下安装MongoDB[通俗易懂]

    Linux下安装MongoDB[通俗易懂]下载安装包 下载地址:https://www.mongodb.com/download-center/community curl -O https://fastdl.mongodb.org/linu

    2023-02-22
    160
  • Python获取当前路径

    Python获取当前路径在开发Python程序时,获取当前程序运行路径是一个常见的需求。当前路径通常用于读取或写入文件,或者在程序中使用相对路径进行文件的引用。在本文中,我们将介绍如何使用Python来获取当前路径。

    2024-04-28
    103
  • Python中的concat函数使用方法

    Python中的concat函数使用方法Python作为一种高级编程语言,已经得到了广泛的应用。而作为Python中一个非常重要的函数,concat函数也被广泛应用于很多领域,如数据处理、文本处理等。该函数实现的是将两个或多个字符串连接起来形成一个新的字符串。本文主要介绍Python中的concat函数使用方法。

    2024-06-09
    53
  • F5如何助力数据中心IT进行转型?「建议收藏」

    F5如何助力数据中心IT进行转型?「建议收藏」     事实上在金融互联网业务的大力发展下,越来越多的银行业务对系统架构的容量、弹性能力提出越来越高的要求,相信不少银行的数据中心运维人员已对此深有体会。 那么在F5中,能够帮助数据中心IT进行转…

    2022-12-24
    150
  • mysql查询表中最后一条记录怎么删除_mysql更新表的内容

    mysql查询表中最后一条记录怎么删除_mysql更新表的内容查询全部的记录: select * from test_limit ; 查第一条记录: select * from test_limit limit 1; 查前面两条记录: select * from

    2022-12-28
    156
  • Python 循环引用问题引发了什么?

    Python 循环引用问题引发了什么?在Python编程中,循环引用问题是一个经常出现的问题。循环引用指的是当两个或多个对象相互引用时,会导致这些对象不能被垃圾回收器回收,从而造成内存泄漏和内存溢出问题。这篇文章将介绍Python中的循环引用问题,以及这个问题引发的影响。

    2024-08-20
    28

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注