zoukankan      html  css  js  c++  java
  • 【原创】Microsoft SQL Server 2005技术内幕:TSQ程序设计 学习笔记

    第一章 逻辑查询处理

      1、三值逻辑:True,False,Unknown

        Unknown出现在包含Null值的逻辑表达式中,例如下面三个表示(NULL>42; NULL = NULL; X+NULL>Y),

        另外否定的Unknown(就是 not Unknown)还是Unknown;

        处理方式:所有查询筛选器(on,where,Having)把 Unknown 当 False 处理;

                             Check约束中当做True处理。(比如一个check约束要就salary列值必须大于0,这时如果向表插入salary  

                             为NULL的行时可以被接受,因为NULL>0 等于Unknown 即True)

                注意:(a)UNIQUE约束无法向该表插入值为NULL的两行。

           (b)Order By 把NULL排列在一起,Group By 把NULL分在一起。

    第三章

    1、清空缓存:当需要分析查询性能,必须排除缓存的对结果的影响,需要清楚缓存中的数据执行计划

      具体方法:a、清空楚缓中的数据 DBCC DROPCLEANBUFFERS;  就是 DBCC DropCleanBuffers

             b、清空楚缓中的执行计划 DBCC FREEPROCCACHE;  就是 DBCC FreeProcCache

           c、清空特定数据库的执行计划 DBCC FlushProcInDB(<db_id>); 一般不推荐使用此命令

           DBCC(database consistenecy checker) 是一个实用命令集,用来检查数据库的逻辑一致性及物理一致性,进行数据库维护。

    2、语句执行I/O信息:SET Statistics IO ON, 关闭 SET Statistics IO OFF

        执行SQL语句后在消息里显示格式如下:

          Table 'Orders'. Scan cout 3, logical reads 536, physical reads 2, readahead reads 532,

          lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.

        含义:表的扫描访问计数 3,从缓存读取的页数 536,从磁盘读取的页数 2 ,从磁盘预读取的页数 532,

              与大型对象相关的逻辑读取数与物理读取数。

        SQL 2008显示如下:扫描计数 3,逻辑读取 39513 次,物理读取 0 次,预读 0 次,

                                        lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

    3、

    
    
  • 相关阅读:
    管理~资源组织运作
    科学与艺术区别
    概念思维
    拨开文字表象,关注背后事实
    论信息部门与业务部门的关系
    再论信息系统
    linux命令行快捷键记录
    hadoop,帮我解了部分惑的文章
    hadoop运行测试命令遇到的问题
    日志分析及几个小技巧
  • 原文地址:https://www.cnblogs.com/tangqs/p/2384854.html
Copyright © 2011-2022 走看看