mysql and 和where,关于mysql:连接sql查询中where和and子句的区别

本问题已经有最佳答案,请猛点这里访问。

下面两个SQL查询有什么区别

根据以下两个测试结果

速度更快(237比460)。据我所知,这是一个标准。

1e8d7c173d1ebacdccc6f2ce22d7cbda.png

氧化镁

不,有细微的差别,你不能说没有差别

除了语法之外没有别的区别。

虽然只有一个简短的句子,但这仍然是一个有效的答案。

以及一个非常精确、准确和相关的答案。

它只是对on条件进行过滤,而不是添加一个where过滤器。所做的没有区别,只是没有一个地方比较慢。他的回答完全足够了

以这种方式考虑,在联接时,表中的行与其他表中的行在两个条件下(经过它两次)进行比较…而不是在连接后进行一次,然后查找非空结果。这就是为什么它更快

这不是一个正确的答案(尽管这是常见的误解)。通常,这两个命令之间没有明显的区别,因为查询优化器将重写查询以使用更好的语法。但是,这两个查询的运行顺序有着根本的区别。FROM子句在WHERE之前进行评估,并在更复杂的查询中给出截然不同的执行计划。要验证,请使用提示忽略优化器的更改,并使用解释计划查看执行路径的差异。

这很有趣-谢谢你指出这一点。如果我错了,请纠正我,只是再次回顾查询,我认为即使是结果也会与上述两个查询完全不同。查询1不会返回a.name为空的记录。查询2将返回a.name为空的记录,因为表a位于联接的左侧。如果我们从表B中选择一列,我们会看到结果显示为空,即使我们在ID上匹配。

执行联接,然后执行筛选器

在联接前执行筛选器(更好的性能)

编辑:上面是我的原始答案,下面支持它。

4个表,4个左联接,大约500000个结果,第二个查询在一半时间内运行。在测试查询效率时,您应该选择更大的工作集…或是CPU负载、RAM使用、连接时间等因素。如果您的记录少于1000条,或者流量优化有限,则很难看到或证明这一点。在生产环境中测试您的工作集并使用性能更好的东西(不仅仅是理论上的)很简单。

网址:http://www.beaudurant.com/images/sof/22302649.jpg

您可以看到我的数据集在效率和结果上的差异。此示例使用的是MySQL数据库。

452734记录420.016秒

452747记录在214.334秒内

注意:查询是故意运行缓慢的。

我可以在4+表(内部)联接上发布10000000条记录的示例…在我的例子中,添加和到每个联接会更快,然后等待直到最后以一个where结束。快30秒以上…

表达式的语法外观与实际用于计算结果的策略无关。从未听说过"查询优化器"这个词?

你们中有人愿意看我的结果吗?您使用大型数据集吗?

欧文-你错了……句法外观与查询策略有关。优化器只知道如何编写比您更好的查询(基于对数据和元数据的复杂分析),因此更改执行计划以编写您的意思而不是编写的内容。这就是执行计划随着表中数据的变化而随时间变化的原因。但是,编写查询的顺序会影响优化器的编译。

欧文-是女士吗?我主要使用MySQL、Berkeley、SQLite和MSSQL。这个例子是mysql,尽管我可以在mssql上显示相同的结果(不同的表和数据)。我喜欢做事情,而不是让微软为我做决定。

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

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

相关文章

matlab里输出恒压的逆变器,基于IGBT逆变器的异步电机变频调速系统的MATLAB仿真...

异步电机变频调速系统电路仿真模型如图(4)所示。直流电压不621V,逆变器为IGBT 的三相半桥逆变器,电机为异步电机模块,其主电路由直流电压源、逆变器和电机依次相连。图(4)变频调速系统控制部分,利用“Step”模块设定频率指令f1*&a…

php 获取京东交易账号,PHP爬虫爬取京东列表

这里使用到了一个php插件下面是源码simple_html_dom.phpdefined(IN_ECS);define(HDOM_TYPE_ELEMENT, 1);define(HDOM_TYPE_COMMENT, 2);define(HDOM_TYPE_TEXT, 3);define(HDOM_TYPE_ENDTAG, 4);define(HDOM_TYPE_ROOT, 5);define(HDOM_TYPE_UNKNOWN, 6);define(HDOM_QUOTE_DOU…

php dns刷新,Windows DNS缓存自动刷新

Windows DNS缓存自动刷新admin • 2018 年 09 月 04 日DNS(域名服务器)DNS(Domain Name Server)是进行域名和与之相对应的ip地址转换的服务器。DNS中保存了一张域名和与之相应的ip地址的表,以解析消息的域名。DNS轮训在统一主机添加多条A记录,这就是DNS轮…

jq上传file到php,jQuery文件上传

插件描述:这是一个文件上传的展示,看很多插件,并不满意就自己写了一个,可能兼容性不是很好,没有准确进行测试过,还请各位不吝赐教更新时间:2019/3/25 下午8:53:17更新说明:修复上传成…

linux误删表空间文件,UNDO表空间下的数据文件被误删除后的处理方法

UNDO表空间下的数据文件被误删除后的处理方法:操作前备份数据库,以避免更大的损失。思路:1、把误删除的数据文件offline2、正常打开数据库后创建新的UNDO表空间及数据文件3、修改相应参数指向新的UNDO表空间4、重新启动数据库验证5、删除旧的…

linux内核有ebpf吗,聊聊很重要的内核技术eBPF

在2018年的 Linux Plumber 大会上,eBPF成了亮点,有24个议题提到了 eBPF,可以预计eBPF会成为一大技术热点。eBPF(Extended Berkeley Packet Filter) 的核心是驻留在 kernel 的高效虚拟机。最初的目的是高效网络过滤框架,前身是 BPF…

oom linux 导致ssh,Linux OOM

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?某个机器看到一条日志:Out of Memory: Kill process xxx (xxx) score 707 or sacrifice child并且syslog, ssh等进程都被kill掉了.简单了解了下OOM(Out of Memory)…

c语言bfs程序讲解,面试算法--二叉树DFS/BFS实现(C语言)

深度优先搜索算法(Depth First Search)DFS是搜索算法的一种。它沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还…

c语言 子进程,子Shell和子进程

Shell 中有很多方法产生子进程,比如以新进程的方式运行 Shell 脚本,使用组命令、管道、命令替换等,但是这些子进程是有区别的。子进程的概念是由父进程的概念引申而来的。在 Linux 系统中,系统运行的应用程序几乎都是从 init(pid为…

学C语言办公本和游戏本,为什么不建议买游戏本?入手前须知,别只看中游戏...

原标题:为什么不建议买游戏本?入手前须知,别只看中游戏作为一名游戏本用户,我自己在用的游戏本已经用了四五年的时间了,从最初的大学生到毕业工作2年时间,这一游戏本给我带来了不少麻烦。最大的麻烦就是“笨…

Android ui 单元测试 覆盖率,Android单元测试—UI测试(Espresso)

前言我们先回顾一下,在上一篇博客中,主要分享了Android单元测试的逻辑测试部分。接下来,我们重点讲解Android单元测试的UI测试部分!何为UI测试呢?就是对用户界面的交互元素进行测试,如TextView、ImageView&…

android shape 圆角百分比,Android shape显示圆角问题

当需要定义一个圆角效果,当在ADT中预览,没有有效果时,只要运行就可以了!xmlns:Android"http://schemas.android.com/apk/res/android">android:state_pressed"true">android:startColor"#ff8c00"android:endColor"#FFFFFF…

android 删除垃圾文件夹,别再用手机管家清理垃圾了!删除这些文件夹,内存瞬间释放几个G...

随着手机使用时间的增加,手机中缓存的东西越来越多,这时候手机内存空间就会告急,从而影响手机的流畅性。那么在这种时候不要乱清理,我们只需要删除这几个文件夹,就可以帮手机轻松释放好几个G的内存。下面我们就一起来看…

计算机的应用技术课程的看法,统计教学与计算机应用的几点看法论文

统计教学与计算机应用的几点看法论文一、传统教学方法的局限性和弊端统计学是一门关于搜集、整理、汇总、描述和分析数据资料,并在此基础上进行推断和决策的方法论科学,具有很强的应用性、实践性。统计学课程是中等职业学校、财经类专业的基础核心课程。…

jupyter可以打开HTML文件吗,Jupyter ~ 像写文章般的 Coding (附:同一个ipynb文件,执行多语言代码)...

前面用了很久Notebook来交互式编程了,此次说说几个其余的选项:htmlNotebook Markdown此次选Markdown模式(关于Markdown基础能够看以前写的Markdown Base)python和代码同样,Shift回车就能够预览了,怎么样是否是很酷的感受&#xff…

计算机网络技术基础教学内容,计算机网络技术基础

无计算机网络技术基础》课程教案一 计算机网络技术基础》课题: 课题:计算机网络概述(一) ) 教学顺序: 教学顺序:1 教学时数: 教学时数: 2 学时 教学目的:了解计算机网络产生的背景,掌…

计算机表格收入水平怎么算,怎么用excel计算工资所得税

利用Excel表格计算工资所得税?单位工资发放大多采用计算机管理,对一些小企业没有采用工资软件的,一般用Excel表来计算工资。下面小编就教你怎么用excel计算工资所得税。excel计算工资所得税的步骤:1、假设工资的所得税起征点为3500,具体阶段如下表。2、…

同一网段计算机无法共享打印机,Win7同一个局域网内共享打印机不成功的修复方法...

打印机共享需要在同一个局域网内完成,这样打印机可以共享多台电脑。一位用户说自己的打印机和台式Win7系统电脑的连接已经成功,但就是没办法打印机文件,怎么回事呢?win7系统共享打印机的前提是需要关闭杀毒软件和win7系统的防火墙…

嵌入式计算机的特点和应用,以下描述中,()不是嵌入式操作系统的特点。A.面向应用,可以进行裁剪和移植B.用 - 信管网...

第4题:在分布式数据库中包括分片透明、复制透明、位置透明和逻辑透明等基本概念,其中:()是指局部数据模型透明,即用户或应用程序无需知道局部场地使用的是哪种数据模型。A.分片透明B.复制透明C.…

计算机二维全息图原理,三维信息加密如何使用计算全息进行

全息加密技术作为一种特殊的加密方法被广泛应用于信息加密和防伪等领域。在全息加密过程中,光波的波长、记录距离和入射角度等参数用做加密密钥和解密密钥被人们深入研究,但所加密的信息几乎都是二维信息。为此利用一种基于虚拟光学的对三维信息进行加密…