Sql Server每日一练-Tempdb数据库使用技巧

Tempdb数据库使用技巧



安装SQL Server时安装程序会创建tempdb数据库。Tempdb是SQL Server存储临时表和存储过程的系统数据库,用于排序、子查询、GROUP BY、ORDER BY、游标等等。Tempdb只包含临时的对象,所以不要在这个数据库里创建永久对象。


SQL Server 6.5 tempdb数据库创建在master数据库设备上,默认为2MB。如果使用大的临时表、包括多个GROUP BY或ORDER BY的查询、频繁使用大的游标,则需要扩容TEMPDB数据库。要扩容tempdb, 可以先扩容master设备然后扩容tempdb, 也可以创建一个新设备然后再扩容tempdb到这个新设备上。你也可以把tempdb数据库移植到独立的设备上。

步骤如下:

1. 创建一个适当大小的新设备(例如:tempdb_dev)
2. 去MASTER设备的"Default device"选项(这个选项表示master设备是默认设备)
3. Set "Default device" option for the tempdb_dev device.
4. 从Enterprise Manager (或 sp_configure)设置tempdb到内存(set value to 1)
5. 停止然后重新启动MSSQLServer服务
6. 从Enterprise Manager (或 sp_configure)设置tempdb不到内存(set value to 0)
7. 停止然后重新启动MSSQLServer服务
8. 设置你的设备为默认设备

如果要优化查询速度(如果这个查询包含子查询、GROUP BY、ORDER BY子句), 可以设置tempdb到内存。大多情况下内存是最好的数据缓存,比用于TEMPDB更恰当,所以SQL Server 7.0不支持这项功能。


SQL Server 7.0
SQL Server 7.0没有数据库设备和段, 数据库由两个或以上的WINDOWS文件组成。SQL Server的数据库文件有三种类型: 主数据文件(必需,扩展名.mdf),次要的数据文件(不是必需,扩展名.ndf)和日志文件(必需扩展名.ldf)。 现在决不在相同文件里混合数据和日志信息,每个数据库都有单独的文件。

安装SQL Server 7.0以后你会在c:/mssql7/data(默认目录)目录发现大小为8MB的tempdb.mdf文件和大小为0.5MB的templog.ldf文件.这两个文件里包含tempdb数据库.

每次SQL Server启动时重新创建TEMPDB数据库.这个数据库在SQL Server 7.0比在SQL Server 6.5中使用更频繁,因此这个数据库可以以25%-50%的比例增长.在SQL Server 7.0中没有'tempdb in RAM'选项。Microsoft推荐把tempdb放到一个高速的I/O子系统以得到更好的性能。

现在tempdb可以自动增长,所以不用把它创建的太大,自动增长为默认设置.每次SQL Server启动时tempdb被重设为默认大小。自动增长会导致性能下降,因此需要为TEMPDB设置合理的大小和合理的增量以避免频繁的自动增长。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值