sqlserver
辣香牛肉面
这个作者很懒,什么都没留下…
展开
-
连接、关联、JOIN、APPLY(SQL Server)
连接方式连接类型个人总结阐述(生成两个集合的约束笛卡儿积)INNER JOIN内连接关联相同的(用于查找关联的信息)FROM C AS c INNER JOIN D AS d ON c.xx = d.xx 前面的查询表达式将 ON 条件为 true 的每一个左侧集合元素转载 2017-11-30 17:03:36 · 1041 阅读 · 0 评论 -
浅谈SQL Server中的三种物理连接操作
简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge Join,Hash Join这三种物理连接中的一种。理解这三种物理连接是理解在表连接时解决性能问题的基础,下面我来对这三种连接的原理,适用场景进行描述。 嵌套循环连接(Nested转载 2017-11-30 17:14:30 · 294 阅读 · 0 评论 -
SQLServer 2005 和游标cursor说再见——apply运算符
使用 APPLY 运算符可以为实现查询操作的外部表表达式返回的每个行调用表值函数。表值函数作为右输入,外部表表达式作为左输入。通过对右输入求值来获得左输入每一行的计算结果,生成的行被组合起来作为最终输出。APPLY 运算符生成的列的列表是左输入中的列集,后跟右输入返回的列的列表。 APPLY 有两种形式: CROSS APPLY 和 OUTER APPLY。CROSS APPLY 仅返回外转载 2017-12-01 09:25:56 · 244 阅读 · 0 评论 -
PIVOT和UNPIVOT使用详解
一、使用PIVOT和UNPIVOT命令的SQL Server版本要求1.数据库的最低版本要求为SQL Server 2005 或更高。2.必须将数据库的兼容级别设置为90 或更高。3.查看我的数据库版本及兼容级别。如果不知道怎么看数据库版本或兼容级别的话可以在SQL Server Management Studio新建一个查询窗口输入:print @@version转载 2017-12-01 14:22:47 · 14598 阅读 · 0 评论 -
With(ReadPast)就不会被阻塞吗?
在生产环境中,会有很多使用ReadPast查询提示的场合,来避免正在被其它事务锁定的行对当前查询造成阻塞,而又不会获取到“脏数据”。可是很多人都疑惑,为什么我使用了ReadPast仍然有时会被阻塞?首先我们找到联机帮助:READPAST指定数据库引擎不读取由其他事务锁定的行。 如果指定了 READPAST,将跳过行级锁。 也就是说,数据库引擎将跳过这些行,而不是阻塞转载 2017-12-21 10:07:04 · 1050 阅读 · 0 评论 -
SQL Server 中WITH (NOLOCK)浅析 2014-08-30 11:58 by 潇湘隐者, 58264 阅读, 33 评论, 收藏, 编辑 概念介绍 开发人员喜欢在SQL脚本
SQL Server 中WITH (NOLOCK)浅析概念介绍 开发人员喜欢在SQL脚本中使用WITH(NOLOCK), WITH(NOLOCK)其实是表提示(table_hint)中的一种。它等同于 READUNCOMMITTED 。 具体的功能作用如下所示(摘自MSDN): 1: 指定允许脏读。不发布共享锁来阻止其他事务修改当前事务读取的数据,其他事务设置转载 2018-01-09 09:10:36 · 207 阅读 · 0 评论