zoukankan      html  css  js  c++  java
  • 第八章 了解tempdb数据库


    1.一个sqlserver数据库实例上只能有一个tempdb数据库,这个实例上所有的用户都共享这个数据库。
    2.tempdb数据库在每次sqlserver重启后都会重新创建,所以数据会丢失。
    3.因为tempdb数据库上面的特性所以对tempdb数据库的操作日志不会保存重做信息,所以相比正常数据库来说,tempdb拥有更好的性能。
    4.tempdb存储的用户对象有全局临时表,本地临时表,表变量。
    5.在创建他们的会话关闭时局部临时表和全局临时表都会被删除。
    6.表变量和局部临时表的区别在于表变量没有统计信息,表变量的作用范围为批处理而不是会话,不能为表变量创建索引,表变量不支持架构修改。注意他们都是存储在磁盘的数据,但可能有缓存。
    7.由于表变量没有统计信息,所以表变量的操作数据速度要比临时表快,但也真因为此,表变量数据多时,查询优化器无法创建合适的查询计划会造成查询速度很慢。
    8.无论是实用临时表还是表变量都要经过全面的性能测试,但最好倾向于使用临时表,问题少。
    9.tempdb也是闩锁争用的易发地,解决办法有两个,一是创建多个tenpdb数据文件进行分压。二是创建易于重用的的临时对象,避免重复创建,重用的临时对象有几个特点
    :没有创建命名约束,没创建索引的对表造成影响的语句,不是通过动态sql创建的,不由另一个对象创建如存储过程,触发器,用户定义函数,用户定义的标值函数返回的表。

    有好多动态管理视图可以查看一些临时表相关信息。

  • 相关阅读:
    并查集的来龙去脉
    改变像素
    PHP自学之路-----javascript基础入门
    推荐管理类图书
    ewebeditor编辑器ASP/ASPX/PHP/JSP版本漏洞利用总结及解决方法
    PHP文件包含漏洞剖析
    文件上传漏洞总结
    服务器软件解析漏洞总结
    JAVA环境变量配置
    Python2.x与Python3.x的区别
  • 原文地址:https://www.cnblogs.com/stjwy/p/6049969.html
Copyright © 2011-2022 走看看