当前位置: 首页 > 编程日记 > 正文

MySQL查询缓存

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

MySQL 查询缓存保存查询返回的完整结果。当查询命中改缓存,MySQL 会立刻返回结果,跳过了解析、优化和执行阶段。
查询缓存系统会跟踪查询涉及查询中的每个表,如果这些表发生变化,那么和这个表相关的所有查询数据都将失效。这种机制看起来很低效,因为数据变化时很可能对应查询结果并没有变更,但是这种简单实现方式代价很小,对于一个非常繁忙的系统来说至关重要。

MySQL 判断缓存命中的方法很简单:缓存存放在一个引用表中,通过一个哈希值引用,这个哈希值包含了如下因素,即查询本身、当前要查询的数据库、客户端协议的版本等。当判断缓存是否命中时,MySQL 不会解析、“正规化”或者参数化查询语句,而是直接使用 SQL 语句和客户端送过来的其他原始信息。任何字符上的不同,如空格。注释等都会导致缓存不命中。
如果查询中包含任何用户自定义的函数、存储函数、用户变量、临时表、mysql 库中的系统表等都不会被缓存。

查询缓存配置:
query_cache_type
是否打开查询缓存。可以设置成 OFF、ON 或 DEMAND。DEMAND表示只有在查询语句中使用 SQL_CACHE 的语句才放入查询缓存。默认为 ON,分别对应数字 0,1,2。

query_cache_size
查询缓存使用的总内存的空间,单位是字节。这个值必须是1024的倍数,否则 MySQL 实际分配的数据会有所不同。默认16M。

query_cache_min_res_unit
查询缓存中分配内存块时的最小单位。设置小,浪费空间少,但是频繁的内存申请;如果设置大,碎片会很多。

query_cache_limit
MySQL 查询缓存的最大查询结果。默认1M。

query_cache_wlock_invalidate
如果某个数据表被其他的连接锁住,是否仍然从查询缓存中返回结果。默认是 OFF。

手动设置查询缓存:
SQL_CACHE 和 SQL_NO_CACHE
OFF/0,不缓存所有查询结果。
ON/1,缓存所有查询结果,SELECT SQL_NO_CACHE .... 指定不缓存。
DEMAND/2,显示指定缓存结果,SELECT SQL_CACHE .... 指定缓存。

转载于:https://my.oschina.net/u/2950586/blog/1329946

相关文章:

事半功倍系列 javascript

清华大学出版的《事半功倍系列 javascript》,本人照着书敲出来的,有些翻译了一下.前几年看了一下,最近无事,重新翻了翻,很有帮助.本书应该有光盘的,但学校的书,光盘不知在哪.希望对你学 javascript有帮助 第一章javascript简介 1.在地址栏输入javascript语句 Javascript:Doc…

Golang 本地帮助文档

2019独角兽企业重金招聘Python工程师标准>>> godoc -http:8000 url: http://127.0.0.1:8000 转载于:https://my.oschina.net/koalaone/blog/169626

2021版Java知识体系详解!(赠视频)

本篇文章是我们整理的一份架构师的成长路线,包括了并发编程、设计模式、常用框架、中间件、微服务与分布式、常用工具、JVM、MySQL、数据结构与算法,还有架构师精选视频、架构师成长路线高清大图。又是新的一年,每一年都会有人在成为架构师的…

【6】font-size 字体属性

font-style -- 字体风格font-variant -- 小型大写字母文本font-weight -- 文本的粗细font-size/line-height -- 大小/行高font-family -- 字体常用格式: fo…

MIS开发中.net Framework的打印功能

Microsoft .net Framework的打印功能都以组件的方式提供,为程序员提供了很大的方便,但是这几个组件的使用还是很复杂的,有必要解释一下。 打印操作通常包括以下四个功能 1 打印设置 设置打印机的一些参数比如更改打印机驱动程序等 2 页面设置…

UML部署图(转载)

概述: 部署图用于可视化的软件组件部署的系统中的物理组件的拓扑结构。 因此,部署图是用来描述一个系统的静态部署视图。部署图由节点和它们之间的关系。 目的: 部署名称本身描述的原理图的目的。部署图用于描述软件组件部署的硬件组件。组件图和部署图是密切相关的…

一年新增457万例,用 Python 揭示癌症的可怕之处

来源 | 数据分析与篮球作者 | 俊欣头图 | 下载于视觉中国2月27日下午5时许,香港著名演员吴孟达去世,引发了众多影星以及网友在社交媒体上面的悼念,根据其好友田启文的透露,吴孟达是去年年底发现自己患上肝癌的,当时癌细…

深度学习与计算机视觉系列(9)_串一串神经网络之动手实现小例子

深度学习与计算机视觉系列(9)_串一串神经网络之动手实现小例子 作者:寒小阳 时间:2016年1月。 出处:http://blog.csdn.net/han_xiaoyang/article/details/50521072 声明:版权所有,转载请联系作者并注明出处 1.引言 前面…

虚拟主机上用Asp.net实现Urlrewrite

在网上看到,很多朋友在asp.net中做urlrewrite,用的是HttpHandle+Server.Transfer的方法。其实这种方法是错误的。第一,HttpHandle是实现不了urlrewrite的;第二Server.Transfer是标准的重定向,根本不是urlre…

String spilt时转义特殊字符【转】

在使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。 我们经常使用public String[] split(String regex)方法来拆分一个有分隔符的字符串,但是由于参数regex是一个 regular-expression的匹配模式而…

融合AI与大数据技术,腾讯教育发布智能作业灯

3月2日,腾讯教育新品发布会在深圳举行,发布会上,腾讯教育联合暗物智能正式对外发布了AILA智能作业灯,并与华东师范大学出版社、宏途教育、众诚智学教育、江西软云科技等教育行业合作伙伴签订战略合作协议,共同打造智慧…

【踩坑记录】记一次MySQL主从复制延迟的坑

最近开发中遇到的一个MySQL主从延迟的坑,记录并总结,避免再次犯同样的错误。 情景 一个活动信息需要审批,审批之后才能生效。因为之后活动要编辑,编辑后也可能触发审批,审批中展示的是编辑前的活动内容,考虑…

ASP.NET 应用中大文件上传研究

在项目中经常要用到了大文件上传,要上传的文件有100多m,于是研究现在国内使用的大文件上传的组件发现用的比较多的有两个控件AspnetUpload 2.0和Lion.Web.UpLoadModule,两个控件的方法是:利用隐含的HttpWorkerRequest,…

哪家互联网公司涨薪最厉害?居然不是阿里腾讯

最近脉脉职言区有一条讨论火了:哪家互联网公司涨薪最厉害?按照拼多多员工的说法,应届毕业生可以拿比腾讯阿里高30%的薪资,而有工作经验的员工普遍薪资水平也高出业内30%~50%以上。而且在去年由于疫情众多企业降薪、甚至裁员的状况…

如何修改 远程桌面的 默认端口号 3389

修改注册表的以下位置的键值: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]"PortNumber"dword:00000d3d

Yolov11-detect训练自己的数据集

至此,整个YOLOv11的训练预测阶段完成,与YOLOv8差不多。欢迎各位批评指正。

联通和阿里云合作 建互联网云化卡号管理系统

1月17日晚间消息,继去年11月中国联通与阿里巴巴签订战略合作框架协议之后,今天下午阿里云宣布将于中国联通建卡号管理系统“cBSS2.0集中号卡系统”。据了解,这将是电信行业第一个核心业务系统云化改造的重点工程,也是云计算技术在…

如何最大限度提高.NET的性能

优化 .NET的性能 1)避免使用ArrayList。 因为任何对象添加到ArrayList都要封箱为System.Object类型,从ArrayList取出数据时,要拆箱回实际的类型。建议使用自定义的集合类型代替ArrayList。.net 2.0提供了一个新的类型,叫泛型…

别找了,Thonny 才是 Python 小白的最理想的 IDE

来源 | Python编程时光作者 | 写代码的明哥头图 | 下载于视觉中国当你在搜索引擎(如百度)或者各种问答社区(如知乎)搜索『学习Python 最好的 IDE/编辑器是哪个?』的时候,我想答案肯定是:PyCharm…

图书抄袭何时休,技术人的版权在哪里?

今天,一个很偶然的机会,看到了一本北京邮电大学出版社出版的技术图书《Linux服务器架设、性能调优、集群管理教程——实训与项目案例》,感觉有种似曾相识的感觉,于是打开目录大概了解了下,一个我不想看到的现象发生了&…

让MySql支持表情符号(MySQL中4字节utf8字符保存方法)

UTF-8编码有可能是两个、三个、四个字节。Emoji表情是4个字节,而MySQL的utf8编码最多3个字节,所以数据插不进去。解决方案:将编码从utf8转换成utf8mb4。 1. 修改my.ini [mysqld] character-set-serverutf8mb4 2. 在Connector/J的连接参数中&a…

短信编码类无错版PDUdecoding.cs

////程 序 员:武志文(蚕蛹)/// sillnet163.net///文 件:PDUdecoding.cs///概 要:针对国内短信编码(USC2)///组成结构:包含四个函数:/// smsDecodedCenterNumber(string…

你还有学了三年建模的朋友吗?他有救了

【 编者按】“我朋友学了 3 年建模”系列,一直以浮夸的操作占据于各大视频网站搞笑榜。此前,来自布拉格捷克理工大学、 Google 研究院、和华盛顿大学以及苏黎世联邦理工学院的研究者们发布了 Monster Mash 项目的论文和动效视频。用户绘制二维图像&#…

iOS培训objective-c——实例化对象

蓝鸥iOS培训推荐:好像好长时间没和大家分享了,那么今天主要和大家说说OC内容创建实例化对象,基本让也就分为几大类:1.ClassName*myNewClassName;//指针2.myNewClassName[ClassNamealloc];//通过alloc这个命令申请一个空间来存放我…

#423 Div2 D

#423 Div2 D 题意 构造一个 n 个节点的树,恰好有 k 个叶子节点 (叶子节点的定义是只与树上的某一个节点存在连边),要求任意两个叶子节点的距离的最大值最小,距离为两个节点间边的数量,输出距离的最大值,以及 n - 1 条边…

CDMA模块上网设置的过程

CDMA模块上网设置的过程一) AT指令设置部分(1) ATCSQ 检查信号 若返回10—31,99之间的信号数字则继续,如果信号是99,99,则应该考虑不停的键入A/命令,不停的让模块去搜寻网络。&…

RedHat 年度报告:只索取不贡献的开源消费“大户”不受待见

编译 | 清儿爸编辑 | 夕颜头图 | 下载于视觉中国据 Red Hat 公司委托发布的一份新报告称,新冠疫情可能在云计算基础设施和企业开源软件方面留下不可磨灭的印记。Red Hat 是 IBM 于 2018 年以 340 亿美元收购的企业开源软件产品供应商。第三次年度《企业开源现状》&a…

做产品的一些思考

从我当前的职业经历来看,做过两种类别的产品:一种是客户定义好了需求由我们去实现,我姑且称其为做项目;一种是自己去探索用户需求然后在不断的摸索中引导用户,实现价值,这是我笔下真正的产品。做项目目标明…

查看JDK的历史版本

1.打开如下链接http://www.oracle.com/technetwork/java/javase/downloads/index.html2.查找如下内容,点击进行3.选择你需要的版本,点击进入4.找到相应的版本下载即可转载于:https://blog.51cto.com/suyanzhu/1947530

终于有人解救Python人了!

从事Python开发的这些年中,我见过很多相关的入门教程和书籍,他们大都这样讲 :先介绍 Python 的基本语法规则、list、dict、tuple 等数据结构,然后再介绍字符串处理和正则表达式,介绍文件等IO操作.... 就这样一点一点往…