- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQLSERVER中什么情况会导致索引查找变成索引
SQL SERVER中什么情况会导致索引查找变成索引扫描SQL Server 中什么情况会导致其执行计划从索引查找(Index Seek)变成索引扫描(Index Scan)呢? 下面从几个方面结合上下文具体场景做了下测试、总结、归纳。?1:隐式转换会导致执行计划从索引查找(Index Seek)变为索引扫描(Index Scan)Implicit Conversion will cause index scan instead of index seek. While implicit conversions occur in SQL Server to allow data evaluations against different data types, they can introduce performance problems for specific data type conversions that result in an index scan occurring during the execution.? Good design practices and code reviews can easily prevent implicit conversion issues from ever occurring in your design or workload.?如下示例,AdventureWorks2014数据库的HumanResources.Employee表,由于NationalIDNumber字段类型为NVARCHAR,下面SQL发生了隐式转换,导致其走索引扫描(Index Scan)SELECTNationalIDNumber, LoginID? FROMHumanResources.Employee? WHERENationalIDNumber = 112457891 我们可以通过两种方式避免SQL做隐式转换:??? 1:确保比较的两者具有相同的数据类型。??? 2:使用强制转换(explicit conversion)方式。我们通过确保比较的两者数据类型相同后,就可以让SQL走索引查找(Index Seek),如下所示SELECTnationalidnumber,?????? loginidFROM?? humanresources.employeeWHERE? nationalidnumber = N112457891?注意:并不是所有的隐式转换都会导致索引查找(Index Seek)变成索引扫描(Index Scan),Implicit Conversions that cause Index Scans?博客里面介绍了那些数据类型之间的隐式转换才会导致索引扫描(Index Scan)。如下图所示,在此不做过多介绍。避免隐式转换的一些措施与方法??? 1:良好的设计和代码规范(前期)??? 2:对发布脚本进行Rreview(中期)??? 3:通过脚本查询隐式转换的SQL(后期)下面是在数据库从执行计划中搜索隐式转换的SQL语句SET?TRANSACTION?ISOLATION?LEVEL?READ UNCOMMITTEDDECLARE @dbname SYSNAME SET @dbname = QUOTENAME(DB_NAME());WITH XMLNAMESPACES ?? (DEFAULT?/sqlserver/2004/07/showplan) SELECT??? stmt.value((@StatementText)[1], varchar(max)), ?? t.value((ScalarOperator/Identifier/ColumnReference/@Schema)[1], varchar(128)), ?? t.value((ScalarOperator/Identifier/ColumnReference/@Table)[1], varchar(128)), ?? t.value((ScalarOperator/Identifier/ColumnReference/@Column)[1], varchar(128)), ?? ic.DATA_TYPEASConvertFrom, ?? ic.CHARACTER_MAXIMUM_LENGTHASConvertFromLength, ?? t.value((@DataType)[1], varchar(128)) ASConvertTo, ?? t.value((@Length)[1], int) ASConvertToLength, ?? query_planFROMsys.dm_exec_cached_pl
您可能关注的文档
最近下载
- 安全生产制度建设安全生产.docx VIP
- 2025年辽宁省高考物理试卷(含答案解析).docx
- 2025福建福州首邑产业投资集团有限公司(第一次)招聘18人笔试备考试题及答案解析.docx VIP
- 小学升初中数学考试试卷(名师推荐) .pdf VIP
- 【精品】EVOH技术讲座.pdf VIP
- 汽车气味评价员培训规范.pdf VIP
- 华容道解法(带图解,完全修改无错误及调整为最佳打印效果).doc VIP
- 基于智能电网设备的智慧电力物联网整体解决方案.pptx VIP
- 西南名校联盟2025届“3+3+3”高考备考诊断性联考 (一) 英语试卷(含答案详解).docx
- 高三一轮复习《机械能守恒定律》检测卷.doc VIP
文档评论(0)