SQL
文章平均质量分 56
葛俊在新泽西
本人微博:葛俊在新泽西
展开
-
SQLServer 之 Nested Loop Join
SQLServer的表有各种逻辑连接操作,例如“Left Outer Join”,“Inner Join”等等。但是在物理上,这些逻辑连接都会由三种不同的物理连接(physical join)实现,分别是:“Nested Loops Join”,“Merge Join”和“Hash Join”。下文将详细阐述这三种连接中的“Nested Loop Join”,其他连接类型将在后续文章中阐述。1...原创 2018-09-01 21:10:58 · 1189 阅读 · 0 评论 -
与 table variables 相关的 sql 性能问题
1. 问题:如果在Store Procedure使用table variables并且有相关的join操作,那么可能导致性能问题。因为sqlserver可能会为table variable相关的Join操作选择Nested Loop Join,从而在数据集巨大的情况下导致性能下降。下文将做实验分析并且给出解决方法(非常简单)。2. 实验与分析:以上是实验代码,运行之后我们会发现Sqlser...原创 2018-09-02 16:51:58 · 316 阅读 · 0 评论 -
SQLServer 之 Hash Join
1. 什么是 Hash Join当sqlserver需要对包含大量记录的表做join的时候,往往会选择hash join,因为hash join性能优异。另外,hash join支持各种外连接和半连接。Hash Join包含两个阶段。第一阶段是build,sqlserver会读取一个表的所有记录生成一个保存在内存中的hash表。这个阶段往往会选择较小的表生成hash表,因为hash表太大的...原创 2018-09-08 18:51:03 · 4634 阅读 · 0 评论 -
ARTS 20190921 technique: Stuff 函数的用法
https://www.w3schools.com/sql/func_sqlserver_stuff.aspSELECT STUFF('SQL Tutorial', 1, 3, 'HTML');本周学了一个小技巧:sql的stuff函数可以用来替换文本。原创 2019-09-21 21:00:00 · 150 阅读 · 0 评论