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创建的,不由另一个对象创建如存储过程,触发器,用户定义函数,用户定义的标值函数返回的表。

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

  • 相关阅读:
    oracle 释放表空间到OS(resize)
    dblink查找对应的目标端session
    oralce move和shrink释放高水位
    使用ogg实现oracle到postgresql表的实时同步
    oracle_fdw的安装和使用
    postgresql数据库升级
    ORA-00054: 資源正被使用中, 請設定 NOWAIT 來取得它, 否則逾時到期
    贪心算法应用-哈夫曼编码
    9 深拷贝学习
    8 标准库C文件
  • 原文地址:https://www.cnblogs.com/stjwy/p/6049969.html
Copyright © 2011-2022 走看看