位置: 编程技术 - 正文

谈谈Tempdb对SQL Server性能优化有何影响(tempdb数据库能删么)

编辑:rootadmin

推荐整理分享谈谈Tempdb对SQL Server性能优化有何影响(tempdb数据库能删么),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:tempdb数据库的作用,sqlmap特征,tempdb数据库增长很快,tempdb数据库能删么,tempdb数据库的作用,tempdb数据库能删么,tempdb数据库的作用,tempdb数据库的作用,内容如对您有帮助,希望把文章链接给更多的朋友!

先给大家巩固tempdb的基础知识

简介:

tempdb是SQLServer的系统数据库一直都是SQLServer的重要组成部分,用来存储临时对象。可以简单理解tempdb是SQLServer的速写板。应用程序与数据库都可以使用tempdb作为临时的数据存储区。一个实例的所有用户都共享一个Tempdb。很明显,这样的设计不是很好。当多个应用程序的数据库部署在同一台服务器上的时候,应用程序共享tempdb,如果开发人员不注意对Tempdb的使用就会造成这些数据库相互影响从而影响应用程序。

特性:

1、 tempdb中的任何数据在系统重新启动之后都不会持久存在。因为实际上每次SQLServer启动的时候都会重新创建tempdb。这个特性就说明tempdb不需要恢复。

2、 tempdb始终设置为“simple”的恢复模式,当你尝试修改时都会报错。也就是说已提交事务的事务日志记录在每个检查点后都标记为重用。

3、 tempdb也只能有一个filegroup,不能增加更多文件组。

4、 tempdb被用来存储三种类型的对象:用户对象,内部对象、版本存储区

接下来围绕主题展示问题分析:

1.SQL Server系统数据库介绍

SQL Server有四个重要的系统级数据库:master,model,msdb,tempdb.

master:记录SQL Server系统的所有系统级信息,包括实例范围的元数据,端点,链接服务器和系统配置设置,还记录其他数据库是否存在以及这些数据问文件的位置等等.如果master不可用,数据库将不能启动.

model:用在SQL Server 实例上创建的所有数据库的模板。因为每次启动 SQL Server 时都会创建 tempdb,所以 model 数据库必须始终存在于 SQL Server 系统中。

msdb:由SQL Server 代理用来计划警报和作业。

tempdb:是连接到 SQL Server 实例的所有用户都可用的全局资源,它保存所有临时表,临时工作表,临时存储过程,临时存储大的类型,中间结果集,表变量和游标等。另外,它还用来满足所有其他临时存储要求.

2.tempdb内在运行原理

与其他SQL Server数据库不同的是,tempdb在SQL Server停掉,重启时会自动的drop,re-create. 根据model数据库会默认建立一个新的8MB(mdf file:8MB;ldf file:1MB, autogtouth设置为%)大小recovery model为simple的tempdb数据库.

tempdb数据库建立之后,DBA可以在其他的数据库中建立数据对象,临时表,临时存储过程,表变量等会加到tempdb中.在tempdb活动很频繁时,能够自动的增长,因为是simple的recovery model,会最小化日志记录,日志也会不断的截断.

3.如何合理的优化tempdb以提高SQL Server的性能

如果SQL Server对tempdb访问不频繁,tempdb对数据库不会产生影响;相反如果访问很频繁,loading就会加重,tempdb的性能就会对整个DB产生重要的影响.优化tempdb的性能变的很重要的,尤其对于大型数据库.

注:在优化tempdb之前,请先考虑tempdb对SQL Server性能产生多大的影响,评估遇到的问题以及可行性.

  3.1最小化的使用tempdb

谈谈Tempdb对SQL Server性能优化有何影响(tempdb数据库能删么)

SQL Server中很多的活动都活发生在tempdb中,所以在某种情况可以减少多对tempdb的过度使用,以提高SQL Server的整体性能.

如下有几处用到tempdb的地方:

(1)用户建立的临时表.如果能够避免不用,就尽量避免. 如果使用临时表储存大量的数据且频繁访问,考虑添加index以增加查询效率.

(2)Schedule jobs.如DBCC CHECKDB会占用系统较多的资源,较多的使用tempdb.最好在SQL Server loading比较轻的时候做.

(3)Cursors.游标会严重影响性能应当尽量避免使用.

(4)CTE(Common Table Expression).也会在tempdb中执行.

(5)SORT_INT_TEMPDB.建立index时会有此选项.

(6)Index online rebuild.

(7)临时工作表及中间结果集.如JOIN时产生的.

(8)排序的结果.

(9)AFTER and INSTEAD OF triggers.

不可能避免使用tempdb,如果有tempdb的瓶颈或issue,就该返回来考虑这些问题了.

  3.2重新分配tempdb的空间大小

在SQL Server重启时会自动建立8MB大小的tempdb,自动增长默认为%. 对于小型的数据库来说,8MB大小已经足够了.但是对于较大型的数据库来说,8MB远远不能满足SQL Server频繁活动的需要,因此会按照%的比例增加,比如说需要1GB,则会需要较长的时间,此段时间会严重影响SQL Server的性能. 建议在SQL Server启动时设置tempdb的初始化的大小(如下图片设置为MDF:MB,LDF:MB),也可以通过ALTER DATABASE来实现. 这样在SQL Server在重启时tempdb就会有足够多的空间可利用,从而提高效率.

难点在于找到合理的初始化大小,在SQL Server活动频繁且tempdb不在增长时会是一个合适的值,可以设置此时的值为Initial Size;当然还会有更多的考量,此为一例.

  3.3不要收缩tempdb(如没有必要)

有时候我们会注意到tempdb占用很大的空间,但是可用的空间会比较低时,会想到shrink数据库来释放磁盘空间, 此时要小心了,可能会影响到性能.

如上图所示:tempdb分配的空间为.MB,有%的空间是空闲的,如果shrink掉,可以释放掉一部分磁盘空闲,但是之后SQL Server如有大量的操作时,tempdb空间不够用,又会按照%的比例自动增长. 这样子的话,所做的shrink操作是无效的,还会增加系统的loading.

  3.4 分派tempdb的文件和其他数据文件到不用的IO上

tempdb对IO的要求比较高,最好分配到高IO的磁盘上且与其他的数据文件分到不用的磁盘上,以提高读写效率.

tempdb也分成多个文件,一般会根据CPU来分,几个CPU就分几个tempdb的数据文件. 多个tempdb文件可以提高读写效率并且减少IO活动的冲突.

tempdb是SQL Server重要的一部分,以上只是对tempdb的一些了解总结,还需要进一步学习...

SQL数据库实例名称找不到或远程连接失败并显示错误error的原因及解决办法 分享由字符转义引起的SQL数据库实例名称找不到或远程连接失败并显示错误error的解决办法:一、问题介绍很久没有用c#去连数据库程序了,不过在网

SqlServer如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相关信息 在SQLSERVER中如何通过SQL语句获取服务器硬件和系统信息呢?下面介绍一下如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相

SQL Server使用游标处理Tempdb究极竞争-DBA问题-程序员必知 SQLServertempdb分配竞争算是DBA老生常谈的问题了,几乎现在所有的DBA都知道多建几个文件来解决/缓解问题.但是深层次的的竞争依旧不可避免.这里给大家剖

标签: tempdb数据库能删么

本文链接地址:https://www.jiuchutong.com/biancheng/312841.html 转载请保留说明!

上一篇:SQL Server 2016 TempDb里的显著提升

下一篇:SQL数据库实例名称找不到或远程连接失败并显示错误error40的原因及解决办法(sql实例命名规则)

  • 一般纳税人企业所得税多久申报一次
  • 企业所得税如何合理避税?
  • 如何查询个人所有贷款记录
  • 合并报表逆流抵消
  • 等线补交以前年度附加税会计分录
  • 个税申报系统累计收入怎么算
  • 管家婆未开账可以录入单据吗
  • 工程项目结算方式有哪几种
  • 商业银行的下列哪些行为违反了法律规定?给存款大户
  • 留抵税额抵税怎么做分录
  • 个体户销售蔬菜免增值税吗
  • 个人购买余额宝安全吗?
  • 纳税额和纳税总额
  • 债务重组损益如何确定
  • 清算财产分配会计分录
  • win10虚拟机安装win7
  • 跨年的收入可以在次年冲吗
  • 厂商退货款差额怎么算
  • 赠送客户的商品计入什么科目
  • win11如何将开始菜单里的软件移到桌面
  • 销售货物是什么意思
  • 房产产权置换
  • php_fileinfo作用
  • 销售返利的形式有哪些
  • 在产品定额工时怎么算
  • 向投资者分配现金股利 为什么会导致所有者权益减少?
  • 火灾烧毁物品如何取证
  • 红字发票冲减的是当月收入吗
  • php邮箱验证示例怎么写
  • 其他综合收益的借贷方向
  • vue从入门到精通教程
  • 30多岁应该怎么说
  • node.js解决跨域请求
  • 进项税转出金额是发票上的哪个
  • 100万的工程怎么开发票
  • 专票开户行少写一个字
  • 研发支出属于什么类
  • 利息补缴税款加收利息计算
  • sql server2003
  • 没有实收资本可以转让吗
  • 初级会计计划成本例题
  • 商品流通企业进货费用先进行归集
  • 银行退回转账
  • 贴现的利息通过什么会计科目核算
  • 省外出差
  • 计提工资申报个税
  • 弃置费用摊销为什么在贷方增加
  • 建筑施工企业涉诉案件多的原因
  • 收到固定资产发票怎么入账
  • 往来款做其他应收还是其他应付
  • 库存商品的成本计算
  • 销售费用包括哪些内容?其明细科目有哪些?
  • 逼死win8的节奏 Win7升级至Win9仅需30美元 自动升级不需要重新安装
  • mac salad
  • win7中任务栏的高度最多可以调整到屏幕的
  • windowsxp停止服务的时间
  • rsync -i
  • windos8怎么样
  • win7系统如何连接共享打印机
  • unity脚本模板
  • unity unity3d
  • 编辑器组件
  • js页面点击怎么随机生成图片
  • 使用权资产
  • android导入别人的程序报错
  • Android 让EditText失去焦点避免自动弹出输入法
  • [置顶]马粥街残酷史
  • easyui multiple
  • unity 3d脚本编程
  • 深入探讨换个说法怎么说
  • python 连接符
  • jquery弹出窗口
  • javascript获取数据
  • 北京 国税局
  • 企业所属行业代码查询方法
  • 江苏大丰属哪个市
  • 江苏电子税务局官网登录入口
  • 怎么查税务是否备案
  • 税务局与税务所工资哪个高
  • 土地增值税清算管理规程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设