iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL之查询缓存
  • 438
分享到

MySQL之查询缓存

2024-04-02 19:04:59 438人浏览 薄情痞子
摘要

一、查询缓存的误区刚接触QC时,觉得是个好东西,可以将查询的结果放到QC中,这样极大的提升查询的速度,但是后来了解到如果对表进行做DML或者DDL,QC相对应的缓存就会释放,这样对于频繁更改的数据库是没有任

一、查询缓存的误区
刚接触QC时,觉得是个好东西,可以将查询的结果放到QC中,这样极大的提升查询的速度,但是后来了解到如果对表进行做DML或者DDL,QC相对应的缓存就会释放,这样对于频繁更改的数据库是没有任何意义的。
二、查询缓存场景
每次执行select结果,会放到查询缓存中,这样下次在执行的时候,就不需要具体的执行sql,只要访问查询访问中的缓存即可。
适合的场景:
1、select
2、访问大量的数据才有必要缓存其结果
3、返回少量数据
大量的分组、聚合、计算
查询缓存才不至于变得非常大
对于普通的交易系统来说,这个查询 意义不大,都是一些简单的sql,甚至于还有副作用。
执行一次成本很高,结果集又很小,这种sql值得被缓存。
三、查询缓存的配置
1、将query_cache_type,这是静态参数,需要重启数据库
0是关闭查询缓存
1打开查询缓存,缓存所有的sql语句的结果,除非select sql_no_cache 提示,表示这个结果不放在缓存里面。
2打开查询缓存,但是只是缓存select sql_cache 对应的结果集。 比较推荐使用
2、query_cache_size调整查询缓存的大小
四、查询缓存演示
开启查询缓存,Mysql中的select就会放到查询缓存中,无论什么操作,第一次放到QC中,再次执行的时候就会直接到QC中查询,这样Qcache_hits 就会加一,但是如果对该表做DML或者DDL,本来放到QC中的缓存就会被释放。

1、没有任何操作

| Qcache_hits | 0 |
| Qcache_not_cached | 2 |
| Qcache_queries_in_cache | 0 |

2、执行
select * from t1 where id=1;
| Qcache_hits | 0 |
| Qcache_not_cached | 2 |
| Qcache_queries_in_cache | 1 |

select * from t1 where id=1;
| Qcache_hits | 1 |
| Qcache_not_cached | 2 |
| Qcache_queries_in_cache | 1 |

insert into t1 values(4,'dfd');
| Qcache_hits | 1 |
| Qcache_not_cached | 2 |
| Qcache_queries_in_cache | 0 |

select * from t1 where id=1;
| Qcache_hits | 1 |
| Qcache_not_cached | 2 |
| Qcache_queries_in_cache | 1 |

select * from t1 where id=1;
| Qcache_hits | 2 |
| Qcache_not_cached | 2 |
| Qcache_queries_in_cache | 1 |

mysql> reset query cache;
Query OK, 0 rows affected (0.00 sec)

| Qcache_hits | 2 |
| Qcache_inserts | 2 |
| Qcache_queries_in_cache | 0 |

五、查询缓存中的参数
| Qcache_free_blocks | 1 | #指的是空闲块数,指的是系统分配给MySQL进程的缓存总大小空间中还没有使用的空间
| Qcache_free_memory | 20953960 | #空闲空间,指的是还没有被操作系统分配出去的内存空间。
| Qcache_hits | 12 | #指的是命中次数
| Qcache_inserts | 3 | #向缓存空间中插入的缓存的次数
| Qcache_lowmem_prunes | 0 | #内存太小,修剪内存的次数
| Qcache_not_cached | 0 | #指没有命中的次数
| Qcache_queries_in_cache | 0 | #缓存的个数
| Qcache_total_blocks | 1 | #总块数,指的是系统分配给MySQL进程的缓存总大小空间

flush query_cache #碎片整理
reset query_cache #清空缓存

您可能感兴趣的文档:

--结束END--

本文标题: MySQL之查询缓存

本文链接: https://www.lsjlt.com/news/44738.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL之查询缓存
    一、查询缓存的误区刚接触QC时,觉得是个好东西,可以将查询的结果放到QC中,这样极大的提升查询的速度,但是后来了解到如果对表进行做DML或者DDL,QC相对应的缓存就会释放,这样对于频繁更改的数据库是没有任...
    99+
    2022-10-18
  • MySQL之变量、查询缓存和索引
    MySQL中的系统数据库mysql数据库:是mysql的核心数据库,类似于sql server中的master库,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息PERFO...
    99+
    2022-10-18
  • MySQL系列之九 mysql查询缓存及索引
    目录系列教程一、MySQL的架构二、查询缓存(Query Cache)哪些查询可能不会被缓存:查询缓存相关的服务器变量:查询缓存相关的状态变量:三、索引1、索引类型:2、高性能索引策...
    99+
    2022-11-12
  • mysql怎么查询缓存
    这篇文章给大家分享的是有关mysql怎么查询缓存的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。说明打开查询缓存后,在相同的查询条件和数据的情况下,在缓存中直接返回结果。这里的查询条件包括查询本身、现在查询的数据库...
    99+
    2023-06-20
  • 何为MySQL查询缓存
    本篇内容主要讲解“何为MySQL查询缓存”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“何为MySQL查询缓存”吧!我们知道,缓存的设计思想在RDBMS数据库中无...
    99+
    2022-10-18
  • MySQL怎样查询缓存
    小编给大家分享一下MySQL怎样查询缓存,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MySQL Reference Manua...
    99+
    2022-10-18
  • MySQL 查询缓存详解
    文章目录 MySQL 查询缓存介绍MySQL 查询缓存管理和配置MySQL 缓存机制缓存规则缓存机制中的内存管理 MySQL 查询缓存的优缺点优点缺点 MySQL 查询缓存对性能的影响总结 缓存是一个有效且实用的系统性能...
    99+
    2023-08-16
    mysql mysql查询缓存
  • MySQL优化(4):查询缓存
    查询缓存: MySQL提供的数据缓存QueryCache,用于缓存SELECT查询的结果 默认不开启,需要在配置文件中开启缓存(my.ini/my.cnf) 在[mysqld]段中,修改query_cache_type完成...
    99+
    2018-07-13
    MySQL优化(4):查询缓存
  • 什么是MySQL查询缓存
    本篇内容主要讲解“什么是MySQL查询缓存”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是MySQL查询缓存”吧!QueryCache介绍MySQL查询缓(...
    99+
    2022-10-18
  • mysql基础(五)查询缓存
    缓存的有缺点     1、如果命中缓存,直接从缓存中返回,减少分析和执行SQL语句的过程,提高查询效率     2、缓存会带来...
    99+
    2022-10-18
  • MySQL中怎么查询缓存
    MySQL中怎么查询缓存,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 可以通过下面的SQL查看当前查...
    99+
    2022-10-18
  • MySQL的查询缓存和Buffer Pool
    一、Caches - 查询缓存 下图是MySQL官网给出的:MySQL架构体系图。 人们常说的查询缓存就是下图中的Cache部分。 如果将MySQL分成 Server层和存储引擎层两大部分,那么Caches位于Ser...
    99+
    2022-05-22
    MySQL 查询缓存 MySQL buffer pool
  • MySQL查询缓存的小知识
    前言 我们知道,缓存的设计思想在RDBMS数据库中无处不在,就拿号称2500w行代码,bug堆积如山的Oracle数据库来说,SQL的执行计划可以缓存在library cache中避免再次执行相同SQL发生硬解析(...
    99+
    2022-05-17
    mysql 查询缓存 MySQL 查询
  • 如何在mysql中查询缓存
    本篇文章为大家展示了如何在mysql中查询缓存,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、查询缓存的实现流程二、配置查询缓存查看当前的mysql数据库是否支持查询缓存SHOW VAR...
    99+
    2023-06-07
  • MySQL中怎么查询缓存变量
    这篇文章将为大家详细讲解有关MySQL中怎么查询缓存变量,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  MySQL查询缓存变量解释:  Qcache_fr...
    99+
    2022-10-18
  • mysql如何查询缓存未命中
    小编给大家分享一下mysql如何查询缓存未命中,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1.缓存未命中概念:任何SELECT语句没有从查询缓存中返回都称为“缓存未命中”,以如下列情况:查询语句无法被缓存,可能因为查询中...
    99+
    2023-06-14
  • mysql的查询缓存及innodb缓存回收机制讲解
    这篇文章主要讲解了“mysql的查询缓存及innodb缓存回收机制讲解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql的查询缓存及innodb缓存回...
    99+
    2022-10-18
  • MySQL数据库中怎么查询缓存
    这期内容当中小编将会给大家带来有关MySQL数据库中怎么查询缓存,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、缓存条件,原理MySQL Query Cache是用来缓...
    99+
    2022-10-18
  • MySQL查询缓存涉及多少参数
    本篇文章给大家分享的是有关MySQL查询缓存涉及多少参数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 查询缓存...
    99+
    2022-10-18
  • mysql中查询缓存的示例分析
    这篇文章主要介绍mysql中查询缓存的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 对mysql查询缓存从五个角度进行详细的分析:Query Cache的工作原理、如何配...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作