• SQL Server TempDB


    TempDB是一个系统数据库,

    只有simple模式,

    每次服务器重启后都会按照Model库的配置重新创建

    TempDB只有一个文件组 Primary

    作用:存放局部临时表 全局临时表 表变量 及一些临时用法(如hash 表)

    主要存储三类对象:用户对象 内部对象 和版本存储

    权限:默认所有用户都具有访问TemDB的权限

    SQL Server2012开始 TempDB已经可以配置在故障转移中

    用户临时对象:

    1. 在TempDB中创建的实体表和上面的索引

    2. 全局临时表及上面的索引,以##开头

    3. 局部临时表及上面的索引,以#开头

    4. 表变量,以@开头

    临时表和表变量:       

    1. 统计信息:临时表和表变量的主要区别在于统计信息,表变量不会创建统计信息,或者说,统计信息要么为0,要么为1。优化器永远会把表变量当作里面只有1条数据或者没有数据的表对待。可以通过查看执行计划中的预估函数

    2. 索引:很多人误以为表变量不能创建索引,其实不然,由于它是变量,所以需要定义,也正因为如此,索引也需要预先定义,在定义了表变量以后,再使用就不能添加索引了。另外表变量只能创建主键或者唯一约束。但是即使有主键或者约束,也不会因此具有统计信息

    3. 架构修改:临时表可以修改,但是架构修改不会出现在表变量上面

    4. 存放的地方:都存放在TempDB 中,可以通过sys.dm_db_session_space_usage的DMV来查看TempDB的空间使用情况

    内部临时对象:

                    用于在查询过程中存储临时数据的对象,如Sorts 假脱机 Hash 关联和游标。

                    可以使用sys.dm_db_seesion_space_usage中internal_object_alloc_page_count列来查看,其中比较常见的是Worktable

    版本存储:

                    从sql Server 2005开始,出现的乐观并发模式,这类模式会借用TempDB来存放修改前的数据。 每一行数据被修改前,都会在TempDB中创建一个相同的行

     TempDB上的常见问题及监控

    参考书籍:

    SQL Server性能优化与管理的艺术

  • 相关阅读:
    SharePoint文件磁盘存储组件使用指南
    自定义SharePoint新网站创建过程(1)
    SharePoint : 超级Web Application Framework
    Video:使用VSeWSS创建定制SharePoint页面
    SharePoint Designer 2007 is now FREE !
    关于SharePoint解决方案开发模型的凌乱文章…
    初试Silverlight Streaming服务
    Feature Schema中Module和File节点属性含义的解释
    如何定制列表项编辑页面
    使用SharePoint Server 2007搜索Domino Notes
  • 原文地址:https://www.cnblogs.com/qianlixing/p/6695032.html
Copyright © 2020-2023  润新知