exists-sql中exists的用法
2020-03-01 22:46作者:堆糖网 253人阅读
简介一、exists 没有任何区别,都是筛选过滤条件,用法都是跟在后面。里面是一个子查询。 使用in的时候,执行过程不能使用索引;使用的时候,可以使用索引,所定义一般情况下,效率高
一、exists
没有任何区别,都是筛选过滤条件,用法都是跟在后面。里面是一个子查询。 使用in的时候,执行过程不能使用索引;使用的时候,可以使用索引,所定义一般情况下,效率高些。(要看具体情况,如表的大小,驱动表的选择) 是判断是否存在和in类似但效率要比in高 基础表‘‘ 基础表‘ 这两句效果一样
|
以上数据内容来源于:百度exists、搜狗exists、360exists |
二、sql语句exists用法
in和的区别与SQL执行效率分析 本文对in和的区别与SQL执行效率进行了全面整理分析…… 最近很多论坛又开始讨论in和的区别与SQL执行效率的问题, 本文特整理一些in和的区别与SQL执行效率分析 SQL中in可以分为三类: 1、形如,应该和以下两种比较效率 1b 或者1f1b 你可能指的不是这一类,这里不做讨论。 2、形如2fxx, 其中子查询的里的条件不受外层查询的影响,这类查询一般情况下,自动优化会转成语句,也就是效率和一样。 3、形如2fxt1fx, 其中子查询的里的条件受外层查询的影响,这类查询的效率要看相关条件涉及的字段的索引情况和数据量多少,一般认为效率不如。 除了第一类in语句都是可以转化成语句的SQL,一般编程习惯应该是用而不用in,而很少去考虑in和的执行效率 in和的SQL执行效率分析 A,B两个表, 1当只显示一个表的数据如A,关系条件只一个如ID时,使用IN更快: omB 2当只显示一个表的数据如A,关系条件不只一个如ID,col1时,使用IN就不方便了,可以使用: 3当只显示两个表的数据时,使用IN,都不合适,要使用连接: 所以使用何种方式,要根据要求来定。 这是一般情况下做的测试: 这是偶的测试结果 47行受影响 表。扫描计数1,逻辑读取3次,物理读取0次,预读2次,lob逻辑读取0次,lob物理读取0次,lob预读0次。 表。扫描计数1,逻辑读取3次,物理读取0次,预读0次,lob逻辑读取0次,lob物理读取0次,lob预读0次。 1行受影响 44行受影响 表。扫描计数47,逻辑读取97次,物理读取0次,预读0次,lob逻辑读取0次,lob物理读取0次,lob预读0次。 表。扫描计数1,逻辑读取3次,物理读取0次,预读0次,lob逻辑读取0次,lob物理读取0次,lob预读0次。 1行受影响 419行受影响 表。扫描计数1,逻辑读取10次,物理读取0次,预读15次,lob逻辑读取0次,lob物理读取0次,lob预读0次。 表。扫描计数1,逻辑读取3次,物理读取0次,预读0次,lob逻辑读取0次,lob物理读取0次,lob预读0次。 1行受影响 419行受影响 表。扫描计数1,逻辑读取10次,物理读取0次,预读0次,lob逻辑读取0次,lob物理读取0次,lob预读0次。 表。扫描计数1,逻辑读取3次,物理读取0次,预读0次,lob逻辑读取0次,lob物理读取0次,lob预读0次。 1行受影响 测试结果总体来讲比in的效率高 效率条件因素的索引是非常关键的 把作为条件数据大于 用in 扫描计数47,逻辑读取97次, 扫描计数1,逻辑读取3次 把作为条件的数据少于 比in多预读15次 对此我记得还做过如下测试: 结构 11id主键自增 类别每一千条数据为一个类别 分类id 插入600w条数据 如果要查询每个类别的最大sid的话 的执行效率要高三倍以上。具体的执行时间忘记了。但是结果我记得很清楚。在此之前我一直推崇第二种写法,后来就改第一种了。 in和的sql执行效率分析再简单举一个例子: 10 a语句in的sql写法 b语句的sql写法 两条语句功能都是找到表变量t中v含有重复值的记录 第一条sql语句使用in但子查询中与外部没有连系 第二条sql语句使用但子查询中与外部有连系 大家看SQL查询计划很清楚了 gt1 这条Sql语句它的执行不依赖于主查询主句我也不知道怎么来描述in外面的和里面的暂且这么叫吧大家明白就行 那么SQL在查询时就会优化即将它的结果集缓存起来 即缓存了 后续的操作主查询在每处理一步时相当于在处理当然语句不会这么转化只是为了说明意思也即主查询每处理一行记为时子查询不会再扫描表只会与缓存的结果进行匹配 这一句它的执行结果依赖于主查询中的每一行 当处理主查询第一行时即1时子查询再次被执行扫描全表从第一行记1开始扫描id相同过滤子查询行下移2继续id不同但v值不匹配子查询行继续下移直到7没找到匹配的子查询处理结束第一行1被过滤主查询记录行下移 处理第二行时2子查询第一行1v值不匹配子查询下移第二行id相同过滤第三行到第六行id不同v值匹配找到匹配结果即返回不再往下处理记录主查询下移 处理第三行时,以此类推 sql优化中,使用in和?主要是看你的筛选条件是在主查询上还是在子查询上。 通过分析,相信大家已经对in和的区别、in和的SQL执行效率有较清晰的了解。
|
以上数据内容来源于:百度sql语句exists用法、搜狗sql语句exists用法、360sql语句exists用法 |
三、sql中exists的用法
"He任意任意1idt" 有一个查询如下: 复制代码代码如下 这里面的是如何运作呢?子查询返回的是字段,可是外面的查询要找的是和字段,这两个字段肯定不在里面啊,这是如何匹配的呢? 用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值或。 指定一个子查询,检测行的存在。语法:。参数是一个受限的语句(不允许有子句和关键字)。结果类型为,如果子查询包含行,则返回。 在子查询中使用仍然返回结果集 这个例子在子查询中指定,并返回结果集,通过使用仍取值为。 复制代码代码如下 比较使用和IN的查询 这个例子比较了两个语义类似的查询。第一个查询使用而第二个查询使用IN。注意两个查询返回相同的信息。 复制代码代码如下 复制代码代码如下 比较使用和ANY的查询 本示例显示查找与出版商住在同一城市中的作者的两种查询方法:第一种方法使用ANY,第二种方法使用。注意这两种方法返回相同的信息。 复制代码代码如下 复制代码代码如下 比较使用和IN的查询 本示例所示查询查找由位于以字母B开头的城市中的任一出版商出版的书名: 复制代码代码如下 复制代码代码如下 使用 的作用与正相反。如果子查询没有返回行,则满足中的子句。本示例查找不出版商业书籍的出版商的名称: 复制代码代码如下 又比如以下SQL语句: 复制代码代码如下 姓名 学号xs学号and课程号kc课程号 把最外层的查询xs里的数据一行一行的做里层的子查询。 中间的语句只做出对上一层的返回或,因为查询的条件都在学号xs学号and课程号kc课程号这句话里。每一个都会有一行值。它只是告诉一层,最外层的查询条件在这里成立或都不成立,返回的时候值也一样回返回上去。直到最高层的时候如果是(真)就返回到结果集。为(假)丢弃。 复制代码代码如下 学号xs学号and课程号kc课程号 这个就是告诉上一层,这一行语句在我这里不成立。因为他不是最高层,所以还要继续向上返回。 姓名(这里的语句收到上一个为的值。他在判断一下,结果就是为(成立),由于是最高层所以就会把这行的结果(这里指的是查询条件)返回到结果集。 几个重要的点: 最里层要用到的醒询条件的表比如xs学号、kc课程号等都要在前面的时候说明一下姓名 不要在太注意中间的语句 把和嵌套时的返回值弄明白
|
以上数据内容来源于:百度sql中exists的用法、搜狗sql中exists的用法、360sql中exists的用法 |
更多关于exists |
---|
更多相关:百度exists、搜狗exists、360exists |
Tags:深圳二手车行
上一篇:修变频器-哪里有修变频器的
相关文章
堆糖随机推荐
探索虚无世界3:壁纸、合成表、传送门全解析
《探索虚无世界3》是一款备受玩家喜爱的冒险游戏,本文将为大家详细介绍游戏中的壁纸、合成表和传送门等重要元素。通过全面解析这些内容,玩家们可以更好地了解游戏的特点和玩法,从而更好地掌握游戏的技巧和策略。佛山电商商家的佛山供港冰鲜商家详解
本文详细介绍了佛山电商商家中的佛山供港冰鲜商家,包括其商品种类、服务质量、物流配送等方面。作为电商平台上的一家专业冰鲜产品供应商,佛山供港冰鲜商家以其优质的产品和完善的售后服务赢得了广大消费者的信赖和科技双持与双D科技联手,覆盖哪些电视台打广告?
科技双持与双D科技联手,为广告客户提供全方位的电视广告覆盖服务。我们的广告覆盖范围涵盖了国内主流电视台,包括央视、卫视、地方台等。通过科技双持的精准投放和双D科技的数据分析,我们能够为客户提供更精准、好听音乐,电商主播招聘,音乐电商文案简短
我们是一家专注于音乐电商的公司,提供好听的音乐和优秀的电商主播招聘服务。我们拥有一支专业的团队,致力于为客户提供高品质的音乐和电商服务。同时,我们也提供优秀的音乐电商文案撰写服务,帮助客户更好地推广产创意婚戒:现场交换,出场惊艳!
这款创意婚戒让新人们在婚礼现场实现交换,彰显爱情的独特仪式感。戒指采用高品质金属打造,精致的设计和细节处理让人惊艳不已。在交换戒指的瞬间,新人们的爱情将得到最完美的升华,成为婚礼上最令人难忘的瞬间。一小杰电商干货、实战经验分享、跨境电商干货,助你轻松成为电商大咖!
小杰电商分享实战经验和跨境电商干货,助你成为电商大咖!跟随小杰,轻松掌握电商技巧,开启成功之路!一、小杰电商干货1、小杰电商干货:如何打造一个成功的电商平台电商平台已成为现代商业的主要形态之一。为了在鬼父3连载正式开启,期待全新故事线和惊人情节!
《鬼父3》连载正式开启,故事线全新升级,情节更加惊心动魄。期待着这部经典作品的粉丝们,不要错过这次的精彩表现!一、鬼父31、一部名为《鬼父3》的日本动漫,以其主题和情节颇受观众的关注和争议。这部动漫是亚马逊跨境电商:婷婷、开店流程及费用、真的赚钱吗?
本文将详细介绍亚马逊跨境电商的开店流程、费用以及婷婷的成功案例,帮助读者了解这一领域的商业模式和赚钱方式。同时,也会探讨亚马逊跨境电商的优势和挑战,帮助读者做出明智的决策。一、亚马逊跨境电商婷婷1、亚