怎样介绍自己做的网站烟台网站建设服务

diannao/2026/1/20 17:28:41/文章来源:
怎样介绍自己做的网站,烟台网站建设服务,网站建设 教学视频,网站建设和优化的好处原文:在SQL Server中为什么不建议使用Not In子查询在SQL Server中#xff0c;子查询可以分为相关子查询和无关子查询#xff0c;对于无关子查询来说#xff0c;Not In子句比较常见#xff0c;但Not In潜在会带来下面两种问题#xff1a; 结果不准确 查询性能低下 下面我们…原文:在SQL Server中为什么不建议使用Not In子查询     在SQL Server中子查询可以分为相关子查询和无关子查询对于无关子查询来说Not In子句比较常见但Not In潜在会带来下面两种问题 结果不准确 查询性能低下       下面我们来看一下为什么尽量不使用Not In子句。   结果不准确问题     在SQL Server中Null值并不是一个值而是表示特定含义其所表示的含义是“Unknow”可以理解为未定义或者未知因此任何与Null值进行比对的二元操作符结果一定为Null包括Null值本身。而在SQL Server中Null值的含义转换为Bool类型的结果为False。让我们来看一个简单的例子如图1所示。 图1.Null值与任何值进行对比结果都为Null     SQL Server提供了“IS”操作符与Null值做对比用于衡量某个值是否为Null。       那么Not In 的问题在哪呢如图2所示。     图2.Not In产生不准确的值        在图2中条件3不属于Not In后面列表的任意一个该查询却不返回任何值与预期的结果不同那么具体原因就是Not In子句对于Null值的处理在SQL Server中图2中所示的Not In子句其实可以等价转换为如图3所示的查询。 图3.对于Not In子句来说可以进行等价转换       在图3中可以看到Not In可以转换为条件对于每个值进行不等比对并用逻辑与连接起来而前面提到过Null值与任意其他值做比较时结果永远为Null在Where条件中也就是False因此3null就会导致不返回任何行导致Not In子句产生的结果在意料之外。     因此Not In子句如果来自于某个表或者列表很长其中大量值中即使存在一个Null值也会导致最终结果不会返回任何数据。 解决办法     解决办法就是不使用Not In而使用Not Exists作为替代。Exists的操作符不会返回Null只会根据子查询中的每一行决定返回True或者False当遇到Null值时只会返回False而不会由某个Null值导致整个子查询表达式为Null。对于图2中所示的查询我们可以改写为子查询如图4所示。 图4.Not Exists可以正确返回结果   Not In导致的查询性能低下     前面我们可以看出Not In的主要问题是由于对Null值的处理问题所导致那么对Null值的处理究竟为什么会导致性能问题让我们来看图5的示例。图5中我们使用了Adventurework示例数据库并为了演示目的将SalesOrderDetail表的ProductId的定义由Not Null改为Null此时我们进行一个简单的Not In查询。如图5所示。 图5.Not In的执行计划       在图5中我们看到一个Row Count Spool操作符该操作符用于确认ProductId列中是否有Null值过程是对比总行数和非Null行数不想等则为有Null值虽然我们知道该列中没有Null值但由于列定义是允许Null的因此SQL Server必须进行额外的确认而该操作符占用了接近一半的查询成本。因此我们对比Not Exists如图6所示。 图6.Not In Vs Not Exists       由图6可以看出Not In的执行成本几乎是Not Exists的3倍仅仅是由于SQL Server需要确认允许Null列中是否存在Null。根据图3中Not In的等价形式我们完全可以将Not In转换为等价的Not Exist形式如图7所示。 图7.Not In转换为Not Exists     我们来对比图7和其等价Not In查询的成本如图8所示。 图8.成本上完全等价       因此我们可以看到Not In需要额外的步骤处理Null值上述情况是仅仅在SalesOrderDetail表中的ProductId列定义为允许Null如果我们将SalesOrderHeader的SalesOrderID列也定义为允许Null时会发现SQL Server还需要额外的成本确认该列上是否有Null值。如图9所示。 图9.SQL Server通过加入Left Anti Semi Join操作符解决列允许Null的问题   此时Not In对应的等价Not Exist形式变为如代码清单1所示。 SELECT * FROM Sales.SalesOrderHeader a WHERE NOT EXISTS ( SELECT * FROM Sales.SalesOrderDetail b WHERE a.SalesOrderID b.ProductID ) AND NOT EXISTS ( ( SELECT * FROM Sales.SalesOrderDetail b WHERE b.ProductID IS NULL ) ) AND NOT EXISTS ( SELECT 1 FROM ( SELECT * FROM Sales.SalesOrderHeader ) AS c WHERE c.SalesOrderID IS NULL ) 代码清单1.当连接列两列定义都允许Null时Not In等价的Not Exists形式       此时我们简单对比Not In和Not Exists的IO情况如图10所示。 图10.Not In吃掉很高的IO   小结     本文阐述了Not In 的实现原理以及所带来的数据不一致和性能问题在写查询时尽量避免使用Not In而转换为本文提供的Not Exists等价形式将会减少很多麻烦。

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

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

相关文章

旅游网站案例分析温州好的网站推广

数据结构.单链表经典算法 1.经典算法OJ题1:移除链表元素1.1题目描述:1.2题解:1.3图文解释: 2.经典算法OJ题2:反转链表2.1题目描述:2.2题解:2.3图文解释 3.经典算法OJ题3:合并两个有序…

wordpress主题 商城windows优化大师最新版本

介绍:Canal是一个基于MySQL数据库增量日志解析的开源数据同步工具。 Canal的主要功能是提供增量数据订阅和消费,它通过解析MySQL数据库的增量日志来捕获数据变更事件,并将这些事件转换成数据变更流,供用户订阅和消费。这样&#x…

wordPress主题模板站怎么建论坛网站

磁盘存储 磁盘是广为应用的保存大量数据的存储设备,存储数据的数量级可以达到几百到几千千兆字节,而基于RAM的存储器只能有几百或几千兆字节。不过,从磁盘上读信息的时间为毫秒级,比从DRAM读慢了10万倍,比从SRAM读慢了…

做设计及免费素材网站有哪些在线网页代理网址

摘要 苹果手机没有像安卓系统那样内置文件管理器,但是可以通过使用克魔开发助手来实现强大的文件管理功能。本文介绍了如何使用克魔开发助手在电脑上管理和传输苹果手机的文件。 引言 很多朋友都在使用苹果手机,但是当需要查看手机中的文件时&#xf…

点击图片跳转到网站怎么做链接wordpress菜单目录层叠

centos 安装 docker-CSDN博客Docker下载部署 Docker是我们推荐的部署方式之一,当前的版本拥有以下特性: 自动升级:每小时请求最新镜像进行升级,升级不会丢失数据。数据持久化:在宿主机/usr/share/hfish目录下建立dat…

电商网站设计推荐亿企邦网站用什么格式的图片格式

有时候我们在发布程序的时候只想发布一个EXE,而编写程序的时候往往会有多个DLL,这个时候如果能把这些DLL装进EXE将是一个很令人振奋的事情,事实上对于C#程序有很多方法如下:1. 使用微软的ILMerge(缺点:不支…

中邮保险网站襄阳营销型网站

http://www.jianshu.com/p/70151fc0ef5dZookeeper客户端Curator使用详解 简介 Curator是Netflix公司开源的一套zookeeper客户端框架,解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连、反复注册Watcher和NodeExistsException异常等等。Pat…

如何做团购网站中的美食地处地图功能做塑料的网站名字

目录 1.回顾 2.Chiplet的优势 2.1 提升芯片良率、降本增效 2.2 设计灵活,降低设计成本 2.3 标准实行,构建生态 3.Chiplet如何上车 1.回顾 上一篇,我们将来芯粒到底是什么东西,本篇我们来看芯粒技术的优势,以及它…

昆明网站建设搜q479185700公司网络营销的方案

在Vue 3中,你可以通过创建一个基础的框架来封装一些常用的功能、组件和样式,以便在不同的项目中重复使用。下面是一个简单的步骤来封装一个Vue 3框架: 创建一个新的Vue项目:首先,使用Vue CLI创建一个新的Vue项目。 v…

微信公众平台一定要找网站做吗友情链接导航

点击蓝字关注,回复“职场进阶”获取职场进阶精品资料一份互联网的江湖一直流传着大佬们的创业传奇。马云上厕所几分钟敲定几千万美金融资。王石走投无路靠倒卖玉米赚到上百万从此逆袭。扎克伯格为了获得哈佛美女照片,开发一个小玩意从此改变了世界。传奇…

网页设计的最佳尺寸seo助力网站转化率提升

普通的邮件, 用System.Net.Mail 类 或 System.Web.Mail 类 处理即可, 但是Exchange Server 环境下, 这两个类起不了作用-------至少目前我看到的情况如此. 整个过程如下: 1. 先添加COM 引用 "Microsoft CDO for Windows 2000 Library" .2. 发送邮件的代码: CDO.Messa…

网站二级页面怎么做asp.net建立手机网站

养成好习惯 养成在固定时间、固定地点专心学习工作的好习惯。 如果可能,在进入学习或者工作状态前做一些小仪式,比如摆个姿势,戴上学习帽什么的。就好像在运动前做准备活动一样,给身体一个提示。让头脑做好准备 避免在学习前做什么…

无锡网站制作中心企业为什么需要建站

如何提高网站在搜索引擎中的排名? 如何评估网站的SEO效果和优化潜力? 如何运用关键词研究和竞争对手分析来制定SEO策略? 如何优化网站的内容、结构和元数据来提高SEO效果? 如何运用外部和内部链接来提高网站的权威性和排名&am…

商城网站模块推广方式是什么

Unix Domain Sockets (UDS) 是一种进程间通信(IPC, Inter-Process Communication)机制,特别适用于在同一台主机操作系统上运行的多个进程之间进行高效的数据交换。它是基于文件系统路径或者匿名内存区域创建的套接字(socket&#…

网站关键字布局威海高区建设局官方网站

掘金链接:https://juejin.cn/post/7368288987642232872 1,简介 在状态共享这方面,不像 Vuex,React 的官方并没有强力推荐某种封装方案,所以 React 的状态管理工具五花八门,百花齐放, react-redux、dva、C…

网站动态加速英文网站编辑怎么做

嘿,朋友们!今天我要跟你们唠一唠一个超级酷炫的舞蹈培训商城网站设计案例。 咱先说说这个网站的目标哈,那就是得让喜欢舞蹈的小伙伴们能够轻轻松松找到自己心水的课程和商品。 那制作过程都有啥呢?别急,听我慢慢道来。…

湖北做网站教程哪家好简述织梦网站上传及安

写在前面 🛫更多知识总结见Mybatis-Plus专栏 🚕内容总结自尚硅谷杨博超老师的视频 🚒博主对于该知识尚在学习阶段 🚄如果发现存在问题请毫不吝啬的指出 🚀🚀扎哇太枣糕的博客首页🚀&#x1f680…

手机版网站开发实例百度站长提交

在企业顺应消费升级的道路中,企业自身不仅要着力强化对于消费者服务意识的提升,并且要树立诚信自律的行业示范带头作用,助力消费环境稳中向好,不断满足人民群众对美好生活的期待。企业的发展需要消费者的认可,酷开科技…

seo关键词优化方法求好用的seo软件

Oracle SQLServer 比较 SQLServer 常见的 数据 库 类型 字符 数据 类型 CHAR CHAR :都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb 变长字符 数据 类型 VARCHAR2 VARCHAR :racle里面最大长度为4kb,SQLServer里面最大长度为8k…

网站域名注册需要什么手续物流网站免费模板

目录 1 I/O 缓冲简介 1.1 什么是I/O 缓冲 1.2 I/O 缓冲的目的 2 文件 I/O 的内核缓冲 3 刷新文件 I/O 的内核缓冲区 3.1 什么是刷新文件 I/O 的内核缓冲区 3.2 控制文件 I/O 内核缓冲的系统调用函数 3.3 示例程序 4 控制文件 I/O 内核缓冲的标志 4.1 O_DSYNC 和 O_SY…