• ----:)欢迎访问源码网(:----
    • 首页
    • 博客
    • 学院
    • 下载
    • 论坛
    • 影视
    • 发布源码
    • RSS
    • ITPig
    • 笑话网
    • 百家姓
    • 繁體中文

源码网 - 中国第一源码门户
选择镜像:网通镜像 - 电信主站
  • 首 页
  • 新闻动态
  • 网站运营
  • 网页制作
  • WEB开发
  • 编程开发
  • 图像媒体
  • 操作系统
  • 数据库
  • 服务器
热门搜索 优化 SEO 故事 cms IIS7 MySQL 个人 AdSense 主题推广 | 文章搜索: 高级搜索
会员登录/控制面版您的位置: 学院首页 >> 数据库 >> MSSQL >> 详细内容
 

推荐文章

  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • 压缩SQL数据库
 
 

热点文章

  • 安装SQL Server 2005实例环境图解
  • SQL数据库的备份、压缩与SQL数据库数据处理的方法
  • SQL SERVER 2005数据库镜像
  • SQL数据库还原出现错误112(磁盘空间不足)的解决办法
  • Server 2005性能排错
  • 在SQL Server中的关系型数据仓库分区策略
  • 如何使用SQL Server 2000中的XML功能
  • 压缩SQL数据库
  • SQL Server 2000中的SQL语言简介
  • SQLServer删除日志方法
  • SQL精妙语句
  • SQL Server 2000中的SQL语言简介(一)
 
 

相关文章

  • “农村包围城市”SQL Server 2005“绸缪”企业级市场
  • 修改SQL Server 2005执行环境
  • SQL Server 2005中处理表分区问题
  • SQL Server 2005的XML支持机制和安全机制
  • SQL SERVER 2005数据库镜像
  • SQL Server 2005性能测试之CPU篇
  • 安装SQL Server 2005实例环境图解
  • SQL Server 2005与DB2 8.2之对比
  • 了解SQL Server 2005五个有用的动态管理对象
  • SQL Server 2005:你应该知道的13件事情
  • 用SQL Server 2005的三个理由
  • SQL Server 2005密码安全追踪与存储
 
 

百度搜索

 
 

SQL Server 2005中Tempdb变化分析

  • 阅览次数:
  • 文章来源: a hear
  • 原文作者: 不详
  • 整理日期: 2007-04-07
  • 发表评论
  • 字体大小:
  • 小
  • 中
  • 大

SQL Server 2005版本中的所有变化可以写成一本书,事实上,已经被写成了好几本书。其中,最重要的变化不是功能上的变化;这些变化发生在用户或者管理员无法立刻感觉到的内部的行为上。这就是说,了解到它们是什么,它们在什么状况下会表现出来,将会很有用。

这些的隐藏起来的性能提升中最好的一个例子就是tempdb数据库——SQL Server用于临时或者开关操作的数据库。对tempdb所做的很多优化都是在透明的情况下,让处理加速:

◆当临时表被创建的时候,临时表会被缓存起来加速性能。然而,有一些表明确的不会被缓存:

◆关联着显式DDL的临时表

◆关联着命名的约束的临时表

◆作为动态产生的SQL语句的一部分的临时表——例如,存储过程sp_executeSQL的环境中

◆工作表的缓存得到提升。为了节约了空间,会被反复执行的执行计划中的工作表被截短了;现在只有工作表中的前九个页面才会保留。

◆很多其他类型的临时对象也被缓存以提高速度:当在存储过程、函数或者触发器中使用时,表值函数,表变量和局部临时表都会被缓存。对于某种特定的临时对象的编目条目不会被立即丢弃,而是缓存以备将来的重用(一段时间之后,最少使用的对象将从缓存中清除)。

◆对于tempdb中记录的一些修改将不再被记录到日志中,这样可以降低tempdb产生的日志和设备的I/O流量。INSERT操作只会记录插入的记录,DELETE操作只会记录被删除的记录。只有UPDATE操作才会同时记录原值和更新之后的值。(根据Microsoft的内部资料,在此之前的版本,三种操作都会记录操作之前的值和操作之后的值)

◆重新设计tempdb的文件被均衡写入的方式,减少对系统资源的竞争。均衡写入意味着每一个tempdb文件(假设存在多个文件)会被同时写入。因此,如果每个物理文件分散到不同的磁头上,那么对这些文件的写入可以更加有效率的并行处理。建议你为一个SQL Server在每一个CPU创建一个临时文件,并且将每个临时文件放在不同的磁头上。

◆如果一个临时表从tempdb中被丢弃,它会在后台进行处理以降低主机程序的等待时间。实际上,它会被立即处理。

不仅仅是性能,一些变化也影响到了SQL Server 2005的统计收集操作:

◆SQL Server 2005的动态管理视图(Dynamic Management Views)报告关于tempdb空间使用情况的统计数据,可以通过查询检索到这些数据。例如,SELECT SUM (unallocated_extent_page_count)*8 as [Free Space] FROM sys.dm_db_file_space_usage会返回tempdb文件中以kilobytes计算的自由空间总数。

◆Trace标志TF-1118(表示分配整个的extents给每个tempdb对象)已经被重新改造,减少资源的竞争。你可以用它作trace检查而不用担心对tempdb性能产生影响。

◆两个新的性能指标,临时表新建率(Temp Tables Creation Rate)和临时表销毁计数(Temp Tables for Destruction),在SQL Server 2005中出现。它们分别指示每秒钟新建多少个临时表和多少个临时表在排队销毁。

这些变化可以让程序员对tempdb实际的运行方式有一些洞察,而不是被它表面上的行为所蒙蔽——毫无疑问,一个创新的程序员可以利用这些来写出更好的、更先进的SQL Server 2005代码。

上一篇:比AcdSee功能还强大的图片处理、编辑软件,推荐下载!
下一篇:ASP上传漏洞防范
  • 网友评论:
  • 查看所有评论
  • 我要发表评论
您的网名:
留言主题:
你要发表的内容:

 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 发布软件 | 帮助中心 | 源码论坛

Copyright © 2005-2007 CodePub.Com  程序支持:木翼  滇ICP备05005971号