随笔分类 -  T-SQL

摘要:此随笔纯属笔记,有盗图之嫌疑,莫忘责怪事务的四个特性:原子性、一致性、隔离性、持久性①、原子性:就是说事务执行要作为原子,即不可再分,包含在事务中的语句要么都执行,要么都不执行。例如:可见每一条T-SQL语句都可以看作被包裹在一个事务之中的,这种粒度非常小,如果用户想要自己定义原子的大小,则需要包含在事务中来构成用户自定义的原子粒度要用事务来实现自定义原子性往往和业务相关,比如银行转账从A账户减去100,B账户增加100,比如从A账户减去100后,服务器断电,而在B账户中却没有增加100.虽然这种情况会让银行很开心,但作为开发人员的你可不希望这种结果.而默认事务中,即使出错了也不会整个事务进行 阅读全文
posted @ 2012-09-21 09:46 Lordbaby 阅读(468) 评论(0) 推荐(1)
摘要:/*查询来自'Spain'的客户,对每个匹配的客户,执行在Orders.custid列上的索引执行一次查找操作检查Orders表是否包含具有该客户的custid的订单子查询中筛选列custid上的索引在这里非常有帮助,因为通过它可以直接访问Orders表中具有特定custid值的行*/SET STATISTICS TIME ONSELECT custid,companynameFROM Sales.Customers AS CWHERE country=N'Spain'AND custid IN (SELECT custid FROM Sales.Orders) 阅读全文
posted @ 2012-08-31 15:40 Lordbaby 阅读(214) 评论(0) 推荐(0)
摘要:复习一下t-sql 逻辑查询语句各个阶段是如何执行的大多数编程语言中代码是按照编写的顺序来处理的,但在sql 中却不是按照顺序来执行如下图所示流程图:From阶段表运算符Apply、Pivot、Unpivot不是ANSI标准,它是T-SQL中特有的扩展,用法也跟join差不多,关键字左右两边各有一个表作为输入,所有运算结果以虚拟表形式作为左输入继续与第二个表运算符运算,以此类推。表表达式可以表示许多对象:真实的表,临时表,表变量,派生表,CTE,视图,表值函数Apply:把右表表达式应用于左输入的每一行,右表表达式可以引用左输入中的列,对于左表的每一行,都要计算一次右边输入的表达式,这一步会把 阅读全文
posted @ 2012-08-13 19:09 Lordbaby 阅读(1587) 评论(6) 推荐(8)