深圳外贸网站商城相片制作图片

news/2025/9/22 20:05:58/文章来源:
深圳外贸网站商城,相片制作图片,建设网站哪里便宜,网站建设 域名 数据库避免索引失效原则(二)注#xff1a;继上一篇文章继续讲解#xff1a;避免索引失效原则(一)https://www.cnblogs.com/StanleyBlogs/p/10482048.html#4195062作者 #xff1a; Stanley 罗昊【转载请注明出处和署名#xff0c;谢谢#xff01;】体验SQL优化中的概率情况在上一…避免索引失效原则(二)注继上一篇文章继续讲解避免索引失效原则(一)https://www.cnblogs.com/StanleyBlogs/p/10482048.html#4195062作者 Stanley 罗昊【转载请注明出处和署名谢谢】体验SQL优化中的概率情况在上一篇文章结尾处我们在执行查询计划的时候却发现我明明加了索引并且也满足了使用索引的条件但是给我的优化结果却是失败从而得出一个结论便是优化是概率的也就跟彩票一样不可能百分之百优化成功的但是彩票我们都知道全凭运气但是这里就不一样了我们需要了解SQL优化概率背后到底是谁导致它优化失败的首先我们来了解下出现概率优化的原因因为在SQL底层中有一个服务层服务层有一个SQL优化器当我们写一条语句虽然我们手动优化了但是优化器觉得你优化的不太合适它可能会进行一些自己的干扰干扰完毕之后就执行结果就不再是你理想中的那样了所以这个优化器有的时候会阻扰我们的优化工作接下来我们就通过几个例子来体验一下我们设想的优化和实际不一样的一些操作首先我们需要建立一个复合索引alter table book add index idx_book_at(authorid,typeid);建立完索引后我们进行一个简单的查询explain select * from book where authorid 1 and typeid 2;通过结果我们可以发现复合索引全部生效了那么接下来我们将体验一下让它产生概率问题我把上面的SQL语句拿过来改改explain select * from book where authorid 1 and typeid 2;我们查看执行结果结果很明显给authorid 添加了一个大于号这样则导致了右侧索引全部失效包括自身从而得出一个结论复合索引中如果有则自身已经后面的索引都将会失效但是这次我SQL语句再次改变奇怪的事情将会发生explain select * from book where authorid 1 and typeid 2;这次我把这个大于号加给了typeid字段显然它也是索引刚才我说了添加大于号会导致自身并且右侧索引全部失效但是接下来现在我们又发现结论又不对了我明明自身肯定失效啊为啥这次偏偏却两个都生效了原因就是概率情况咱们在实际执行时复合索引全部使用了并不是刚才我们说的那个结论自身失效及右侧全部失效当然这个情况是大部分情况下都是有用了仅有小部分情况会出现明显的概率问题刚才我写了几个例子看起来不是特别的明显下面我将写几个比较明显的例子来体验一下概率问题首先我们编写一条SQL语句explain select * from book where authorid 1 and typeid 2;此时我把authorid改成了小于号我们看结果我们看到了此时我们换层了小于号发现没有全部失效此条语句得出结论两个索引仅生效了一个因为范围查询仅对自身生效对后面的不会生效接下来我再改变一下SQL语句explain select * from book where authorid 4 and typeid 2;首先看清楚我现在没有更改任何符号仅把authorid小于号后面的数字条件写成了4再来看看执行结果我们惊奇的发现竟然全部失效了我明明就光改了一个数字而已就全部失效了刚才还有一个生效现在一个都没有了这到底是为什么呢通过后两个例子我们发现就改了一个数索引都不一样了所以这就是SQL优化的一个概率因此得出结论我们学习的索引优化是一个大部分情况都适用的结论但由于SQL优化器等原因该结论不是100%正确因为SQL的底层把我们写的语句给干扰了一般而言范围查询( in)之后的索引失效仅对自身生效补救那么如果这样一直干扰下去我们到底还优不优化了就没有办法来补救这个概率问题吗答案是有的尽量使用索引覆盖 (using index)在Extra里面出现这个就表示你的SQL语句不会出错如果你怕在优化中出现概率问题那么你就朝着using index这个方向去优化因为出现这个就代表你这条SQL100%生效不会出现概率问题比如我现在有 a b c三张表;现在我编写一条SQLselect a,b,c from 表名 where a ... and b ...;在select后面我们用到了abc 并且查询条件也是a b 没有跨列满足最佳做前缀最主要的是查询条件也是索引所有的索引你都按照规则全部用上了这样就会出现索引覆盖大大的提高了系统性能like尽量以“常量”开头不要以%开头否则索引失效我现在编写一条SQL语句;select * from 表名 where name like %x%;首先这条sql语句是查询表名中name 带有x的数据如果你这样写了如果name是索引那么name将会失效接下来我结合数据库进行证实一下explain select tname from teacher where tname like %x%首先tname我是加了一个索引的但是看一下看一下执行结果没有失效因为出现了覆盖索引因为tname是索引我刚好去查tname所以出现了覆盖索引导致本次查询没有失效下面我把它换成“*”值得注意的是在开发过程中严禁出现“*”本次为了说明问题所以换成“*”执行结果索引全部失效原因我刚才也说过了在模糊查询是不要以百分号开头如果想避免失效可以变成以下这种写法explain select tname from teacher where tname like x%这样虽然可以保证索引不会失效但是我们在项目开发中难免遇到模糊查询所以也是有解决方案的刚才我不小心也试出来了因为我使用了索引覆盖你想用模糊查询可以但是你需要有索引覆盖刚才我查询tnametname本身就在索引里面所以出现了索引覆盖如果必须使用模糊查询那么就把查询条件以及需要查询的字段全部声明成索引即可尽量不要使用类型转换(显示、隐式)否则索引失效这里我就简单的举个例子select * from teacher where tname abc;此时tname是varchar类型这个时候你你却写成int类型select * from teacher where tname 123;人家本来需要单引号的字符串类型结果你给人家弄了一个去掉引号的int类型所以索引就会失效尽量不要使用or否则索引失效select * from teacher where tname or tcid1;这条sql语句就会导致索失效所以要避免使用or这个关键字经过测试发现or回导致以左的索引失效也就是tname这个字段的索引失效了今日感悟努力就一定会有收获心无旁骛

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910217.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

带有互动的网站开发网页设计素材 模板材料

安卓自定义属性主要有3个步骤 在values文件夹新建attrs.xml文件中声明属性&#xff0c;包括属性名和格式&#xff0c;format常用属性有string ,integer,reference等 <?xml version"1.0" encoding"utf-8"?> <resources><!-- 声明属性集…

建设网站 (公司)学做网站要代码

苹果的应用讲究用户体验 有的时候仔细想想 的确&#xff0c;很多细节决定了用户体验 比如说惯性拖动 可以说之前没有任何一家厂商能把触摸惯性拖动做的像苹果的UI那么流畅 Cocos2D中实现能够惯性拖动的选择界面 完成的效果&#xff1a; 制作一个简单的图层&#xff0c;通过传入…

服装网站模板游戏开发模拟器

简介&#xff1a; 优酷视频内容数据天然呈现巨大的网络结构&#xff0c;各类数据实体连接形成了数十亿顶点和百亿条边的数据量&#xff0c;面对巨大的数据量&#xff0c;传统关系型数据库往往难以处理和管理&#xff0c;图数据结构更加贴合优酷的业务场景&#xff0c;图组织使用…

特殊句式

与词汇相比,文言语法变化不大,只是几种特殊句式的表示方法与现代汉语不同,下面分别加以说明: 判断句式 被动句式 倒装句式 省略句式 疑问句式 否定句式一、 判断句式文言文判断句最显著的特点就是基本上不用…

9月22日

CMD:利用命令行的方式操作计算机 打开CMD:win+R 输入CMD:cmd 常用CMD:1.盘符名称+冒号;盘符切换 2.dir:查看当前路径下的内容 3.cd目录:进入单极目录(按下Tabe) 4.cd..:回退到上一级 5.cd目录1\目录2\....:进入目录…

企业网站搭建 网络活动策划农业建设公司网站

摘要&#xff1a;在物流和制造业中&#xff0c;开发一套高效的条形码与二维码识别系统显得尤为关键。本博文深入探讨了如何利用深度学习技术打造出一套先进的条形码及二维码检测系统&#xff0c;并且提供了一套完整的实施方案。该系统搭载了性能卓越的YOLOv8算法&#xff0c;并…

全flash网站制作网站要求

前面章节中,对 set 容器做了详细的讲解。回忆一下,set 容器具有以下几个特性: 不再以键值对的方式存储数据,因为 set 容器专门用于存储键和值相等的键值对,因此该容器中真正存储的是各个键值对的值(value);set 容器在存储数据时,会根据各元素值的大小对存储的元素进行…

张家口企业网站建设优秀策划设计网站

outline在一个声明中设置所有的轮廓属性。outline:颜色&#xff08;outline-line&#xff09;样式&#xff08;outline-style&#xff09;宽度&#xff08;outline-width&#xff09; outline-offset 属性对轮廓进行偏移&#xff0c;并在边框边缘进行绘制。 轮廓在两方面与边框…

北京医疗网站建设公司排名浙江网站seo

今天我们将要谈论一个非常重要的话题&#xff1a;Python 编程中的安全问题。作为一门广受欢迎的编程语言&#xff0c;Python 已经成为了许多开发者、计算机专业学生以及打工人的必备技能。 原文链接食用更佳 危险边缘&#xff1a;揭示 Python 编程中易被忽视的四个安全问题 然…

民治网站设计圳网站建设公司海安环评在哪个网站做

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…

网站建设内部优化南昌网站优化公司

点击上方蓝字关注我&#xff0c;了解更多咨询c语言中是代表两个变量相加&#xff0c;并将答案记录在左边的变量里。比如xy实际代表的表达式为&#xff1a;xxy。这是c语言为了语言的简洁性推出的组合运算。常见的运算符都可以这样组合运算。一、源码演示&#xff1a;二、输出结果…

夺宝网站还可以做吗网站建设氺首选金手指13

Nginx反向代理加载速度慢可能由多种原因引起&#xff0c;以下是一些可能的解决方法&#xff1a; 1&#xff0c;网络延迟&#xff1a; 检查目标服务器的网络状况&#xff0c;确保其网络连接正常。如果目标服务器位于不同的地理位置&#xff0c;可能会有较大的网络延迟。考虑使用…

找人做网站注意什么问题网站怎样运营

&#xff08;一&#xff09;创建 找到components文件夹下面创建新的文件夹 然后再文件夹内创建component格式的文件 创建后这样 我创建的是my-info的文件夹以及my-info的components文件&#xff0c;跟着普通的页面一样 &#xff08;二&#xff09; 注册组件 找到你需要使用组…

常见的营销型网站龙岩食品有限公司

0 本节主要内容 问题描述 解决思路 1 问题描述 不同的网络服务&#xff1a; DNS&#xff1a;用来把人们使用的机器名字&#xff08;域名&#xff09;转换为 IP 地址&#xff1b;DHCP&#xff1a;允许一台计算机加入网络和获取 IP 地址&#xff0c;而不用手工配置&#xff1…

20250922

今天上了一整天的课,非常有压力,通过早上的统一建模语言和算法与数据结构让我拥有更强大的思想,今天下午的Java课也十分深刻影响了我,我知道了0.05和0.05不能直接划= 通过一整天的课,我知道了软件开发者的素养,需…

官网网站建设研究域名暂无法进行网站备案

文章标题 一、WITH语法-定义变量1.1 定义变量1.2 调用函数1.3 子查询 二、GROUP BY子句&#xff08;结合WITH ROLLUP、CUBE、TOTALS&#xff09;三、FORM语法3.1表函数3.1.1 file3.1.2 numbers3.1.3 mysql3.1.4 hdfs 四、ARRAY JOIN语法&#xff08;区别于arrayJoin(arr)函数&a…

学做网站的视频教学深圳的设计网站公司

晚上我看到了JeffXie 写了一篇关于内存屏障的文章&#xff0c;后面又看到Linus对一次内存屏障修改的建议&#xff0c;所以就有了这篇文章。https://mp.weixin.qq.com/s/H7Pw8xCKcNu41UGaYB648w在我看来&#xff0c;内存屏障谁为了让计算机做更加正确的事情&#xff0c;不希望计…

wordpress首页默认文件夹如何刷seo关键词排名

Sora 使用教程&#xff0c;新手小白可用 参考文章&#xff1a;Sora 使用教程&#xff0c;OpenAI 的文生视频模型 为了在激烈的行业竞争中保持领先地位&#xff0c;OpenAI 在 2024 年 2 月 15 日发布了其革命性的文本至视频转换模型——Sora。这个先进的工具能够将文本描述转化…