摘要: (5)SELECT (5-2) DISTINCT (5-3)TOP() (5-1)(1)FROM (1-J) JOIN ON | Apply AS | PIVOT() AS | UNPIVOT() AS (2)WHERE (3)GROUP BY (4)HAVING (6)ORDER BY 1. FROM 表示其后标识的是一个表, 不管该表是单个表名或通过N个表运符得到的一个表1.1 JOIN 运算分三步(CROSS | INNER | OUTER) 1.1.1 执行笛卡尔积 1.1.2 应用ON1.1.3 添加外部行(outer join)1.2 APPLY (C... 阅读全文
posted @ 2013-07-11 21:40 十三 阅读(376) 评论(0) 推荐(0) 编辑
摘要: 一. 自顶向下优化方法论1. 分析实例级别的等待在实例级找出什么类型的等待占用大部分的时间,通过sys.dm_os_wait_statsselect wait_type, --等待类型 waiting_tasks_count, --等待次数 wait_time_ms, --等待目前为止时间累积 max_wait_time_ms, --最长的一次等待时间 signal_wait_time_ms --线程收到资源可用到得到CPU的时间from sys.dm_os_wait_statsorder by wait_type常见有问题等待类型:I/O(IOLATCH 等)网络(ASYNC_NETWO.. 阅读全文
posted @ 2013-07-11 21:38 十三 阅读(544) 评论(0) 推荐(0) 编辑
摘要: 1. 设计异常类型层次结构应该浅而宽2. 注意使用finally块清理资源3. 不要什么都捕捉4.得体地从异常中恢复5.发生不可恢复的异常时回滚部分完成的操作-维持状态6.隐藏实现细节来维系契约 阅读全文
posted @ 2013-07-11 21:37 十三 阅读(139) 评论(0) 推荐(0) 编辑