广告
返回顶部
首页 > 资讯 > 数据库 >在mysql中查询缓存的注意事项
  • 655
分享到

在mysql中查询缓存的注意事项

2023-06-14 16:06:26 655人浏览 薄情痞子
摘要

这篇文章主要介绍在mysql中查询缓存的注意事项,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!查询优化注意事项对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建

这篇文章主要介绍在mysql中查询缓存的注意事项,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

查询优化注意事项

对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引

应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=0

应尽量避免在 where 子句中使用!=或<>操作符,否则引擎将放弃使用索引而进行全表扫描。

应尽量避免在 where 子句中使用or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num=10 or num=20可以这样查询:select id from t where num=10 uNIOn all select id from t where num=20

in和 not in 也要慎用,否则会导致全表扫描,如:select id from t where num in(1,2,3) 对于连续的数值,能用 between 就不要用 in 了:select id from t where num between 1 and 3

mysql查询缓存规则

  • 开启了缓存,MySQL Server会自动将查询语句和结果集返回到内存,下次再查直接从内存中取;

  • 缓存的结果是通过sessions共享的,所以一个client查询的缓存结果,另一个client也可以使用

  • Mysql Query Cache内容为 select 的结果集, cache 使用完整的sql字符串做 key, 并区分大小写,空格等。即两个SQL必须完全一致才会导致cache命中。即检查查询缓存时,mysql Server不会对SQL做任何处理,它精确的使用客户端传来的查询,只要字符大小写或注释有点不同,查询缓存就认为是不同的查询;

  • prepared statement永远不会cache到结果,即使参数完全一样。在 5.1 之后会得到改善。

  • where条件中如包含任何一个不确定的函数将永远不会被cache, 比如current_date, now等。

  • date 之类的函数如果返回是以小时或天级别的,最好先算出来再传进去。

select * from foo where date1=current_date -- 不会被 cacheselect * from foo where date1='2008-12-30' -- 被cache, 正确的做法
  • 太大的result set不会被cache (< query_cache_limit)

  • MySQL缓存在分库分表环境下是不起作用的

  • 执行SQL里有触发器,自定义函数时,MySQL缓存也是不起作用的

在进入一个登录的页面时,我们的用户信息就会被软件后台记录,那么下次打开网站就能直接默认用户登录了。我们在mysql查询缓存中也有这样的使用,已经被查询的语句会放在内存,再次查询就可以直接使用。

以上是“在mysql中查询缓存的注意事项”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: 在mysql中查询缓存的注意事项

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

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

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

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

下载Word文档
猜你喜欢
  • 在mysql中查询缓存的注意事项
    这篇文章主要介绍在mysql中查询缓存的注意事项,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!查询优化注意事项对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建...
    99+
    2023-06-14
  • MySQL中查询数据要注意哪些事项
    在MySQL中查询数据时,需要注意以下事项:1. 确保使用正确的语法:使用SELECT语句来查询数据,并使用正确的表名和列名。2. ...
    99+
    2023-09-27
    MySQL
  • MySQL查询大表注意事项有哪些
    这篇文章将为大家详细讲解有关MySQL查询大表注意事项有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在执行查询时,Mysql默认把结果全部load到内存后再返回(这...
    99+
    2022-10-18
  • Mysql大表查询注意事项有哪些
    这篇文章主要介绍Mysql大表查询注意事项有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 在执行查询时,Mysql默认把结果全部load到内存后再返...
    99+
    2022-10-18
  • mysql中大数据进行查询优化的注意事项
    这篇文章主要介绍mysql中大数据进行查询优化的注意事项,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!mysql中大数据查询优化的注意:1、对查询进行优化,应尽量避免全表扫描;2、应...
    99+
    2022-10-18
  • MySQL的子查询有哪些用法和注意事项
    下文给大家带来有关MySQL的子查询有哪些用法和注意事项内容,相信大家一定看过类似的文章。我们给大家带来的有何不同呢?一起来看看正文部分吧,相信看完MySQL的子查询有哪些用法和注意事项你一定会有所收获。&...
    99+
    2022-10-18
  • mysql分组查询排序要注意哪些事项
    在使用MySQL进行分组查询排序时,需要注意以下几个事项:1. 分组字段与排序字段的选择:分组查询是按照指定的字段进行归类并计算聚合...
    99+
    2023-08-25
    mysql
  • sql查询like的注意事项有哪些
    在使用SQL查询中使用LIKE时,有一些注意事项需要注意:1. 匹配模式:在LIKE语句中,可以使用通配符来匹配模式。%表示零个或多...
    99+
    2023-08-30
    sql
  • 如何在mysql中查询缓存
    本篇文章为大家展示了如何在mysql中查询缓存,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、查询缓存的实现流程二、配置查询缓存查看当前的mysql数据库是否支持查询缓存SHOW VAR...
    99+
    2023-06-07
  • SQL编程中的子查询及注意事项是什么
    今天就跟大家聊聊有关SQL编程中的子查询及注意事项是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。当一个查询是另一个查询的条件时,称之为子查询。...
    99+
    2022-10-18
  • MySQL的查询缓存机制是什么意思
    本篇内容主要讲解“MySQL的查询缓存机制是什么意思”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL的查询缓存机制是什么意思”吧!  查询必须是完全相同...
    99+
    2022-10-18
  • 使用JPA进行CriteriaQuery进行查询的注意事项
    目录使用JPA CriteriaQuery查询的注意事项1.pojo类service层查询方法封装JPA动态查询(CriteriaQuery)EntityManager管理器,通过s...
    99+
    2022-11-12
  • SQL编程中高级查询及注意事项有哪些
    SQL编程中高级查询及注意事项有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.什么是子查询当一个查询是另一个查询的条件时,称之为子查询...
    99+
    2022-10-19
  • Mybatis List列表In查询实现的注意事项说明
    目录下面是一个演示示例下面开始分析源代码(笔记使用的是Mybatis 3.0.5版本)先找到Mybatis执行SQL配置解析的入口分析源码如下又一个发现,见源代码如下在使用这个功能是...
    99+
    2022-11-13
  • Python 打包中的 numpy 缓存有哪些技巧和注意事项?
    Python 是一个强大的编程语言,它的开源生态系统提供了各种各样的工具和库,其中包括 numpy 库。Numpy 是一个基于 Python 的科学计算库,它提供了高效的多维数组操作和数学函数库。在 Python 打包的过程中,numpy...
    99+
    2023-10-26
    打包 numpy 缓存
  • 使用游标进行PHPSQLSRV查询的方法与注意事项
    目录游标类型选择结果集中的行SQLSRV Driver之服务端游标SQLSRV Driver之客户端游标SQLSRV驱动程序允许您创建一个结果集,其中包含可以根据游标类型以任何顺序访...
    99+
    2023-05-19
    PHP SQLSRV游标查询 PHP SQLSRV PHP游标查询
  • mysql中查询缓存的示例分析
    这篇文章主要介绍mysql中查询缓存的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 对mysql查询缓存从五个角度进行详细的分析:Query Cache的工作原理、如何配...
    99+
    2022-10-18
  • 在SpringBoot中使用lombok的注意事项
    目录Lombok需求Lombok的使用开发工具无论是idea还是eclipse都必须要安装插件在项目中依赖Lombok如下简化javabean证明lombok在编译以后会自动生成Lo...
    99+
    2022-11-12
  • ASP 网站中缓存的实现方式和注意事项有哪些?
    ASP网站中缓存的实现方式和注意事项有哪些? 随着互联网的发展,网站的访问量不断增长,对网站的性能和速度提出了更高的要求。网站缓存技术的应用可以大大提高网站的性能和速度。ASP网站中的缓存技术是一种常见的缓存技术,本文将介绍ASP网站中缓存...
    99+
    2023-09-04
    numpy windows 缓存
  • python切片中内存的注意事项总结
    1、由于 Python 列表的切片会在内存中创建新对象,因此需要注意的另一个重要函数是itertools.islice。 2、通常需要遍历切片,而不仅仅是在内存中静态创建它。isli...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作