zoukankan      html  css  js  c++  java
  • [精华] [转帖]关于tempdb的优化---保证足够的 TempDB 空间

    关于tempdb的优化


      缺省情况下,tempdb数据库是放置在master设备上,容量为2M,而临时数据库是活动最为平凡的数据库常常被用来排序、创建临时表、重格式化等操作,所以tempdb的优化应该受到特别的关注。 

      第一步:将临时数据库与高速缓冲进行绑定。
      由于临时表的创建、使用,临时数据库会频繁地使用数据缓存,所以应为临时数据库创建高速缓存,从而可以使其常驻内存并有助于分散I/O:
      1、创建命名高速缓存
        sp_cacheconfig “tempdb_cache”,”10m”,”mixed”
      2、重新启动server
      3、捆绑临时数据库到tempdb_cache高速缓存
        sp_bindcache “tempdb_cache”, tempdb
      4、若有大的I/O,配置内存池

      第二步:优化临时表
      大多数临时表的使用是简单的,很少需要优化。但需要对临时表进行复杂的访问则、
      应通过使用多个过程或批处理来把表的创建和索引分开。以下两种技术可以改善临时表的优化
      1、在临时表上创建索引
        1)临时表必须存在
        2)统计页必须存在(即不能在空表上创建索引)
      2、把对临时表的复杂的使用分散到多个批处理或过程中,以便为优化器提供信息
        下面的这个过程需要进行优化:
         create proc base_proc
         as
         select * into #huge_result from auths
         select * from article, #huge_result where article.author_code=
         #huge_result.author_code and sex=”0”

      使用两个过程可以得到更好的性能
      1)
        create proc base_proc 
        as
        select *
        into #huge_result
        from auths
        exec select_proc

      2) 
        create proc select_proc 
        as
        select * from article,#huge_result
        where article.author_code=#huge_result.author_code and sex=”0”

      说明:在同一个存储过程或批处理中,创建并使用一个表时,查询优化器无法决定这个表的大小。

    保证足够的 TempDB 空间

    目录

    如果在处理需要 SQL 服务器处理空间的 Recordset 对象时发生错误,则可能需要增加 TempDB 的大小。(某些查询需要临时处理空间。例如,带 ORDER BY 子句的查询需要一种 Recordset,而这需要部分临时空间。)

    要点   请在执行操作之前阅读该步骤,因为设备对象一旦展开就难以折叠。

    增加 SQL 服务器上的 TempDB 空间

    1. 启动 Microsoft® SQL Server Enterprise Manager,打开“服务器”树,然后打开“数据库设备”树。

    2. 选定要扩展的(物理)设备,如 Master,然后双击该设备打开“编辑数据库设备”对话框。

      该对话框显示当前数据库使用的空间大小。

    3. 在“大小”滚动框中,将设备增加到所需量(例如,50 MB 的硬盘空间)。

    4. 单击“立即更改”增加(逻辑)TempDB 可以扩展的空间大小。

    5. 打开服务器上的“数据库”树,然后双击“TempDB”打开“编辑数据库”对话框。“数据库”选项卡列出当前分配给 TempDB 的空间大小(“数据大小”)。默认情况下是 2 MB。

    6. 在“大小”组下,单击“扩展”。图形显示在每个物理设备上可用的和已分配的空间。栗色的条代表可用的空间。

    7. 选定“日志设备”,例如 Master,在“大小 (MB)”框中显示可用的空间。

    8. 单击“立即扩展”将空间分配给 TempDB 数据库。

      “编辑数据库”对话框显示新分配的 TempDB 大小。

    参阅   关于该主题的详细信息,请参阅 Mcirosoft SQL Server Enterprise Manager 帮助文件中的“扩展数据库对话框”。

  • 相关阅读:
    SpringBoot入门
    VUE 监听局部滚动 设置ICON的位置跟随
    手机端页面调试工具-vconsole使用
    js获取字符串字节的位数
    判断数据为[] {} /空数组或空对象
    Vue axios 上传图片
    Vue触发input选取文件点击事件
    腾讯地图添加多个Marker
    VUE-CLI 设置页面title
    小程序wxml文件引用方式
  • 原文地址:https://www.cnblogs.com/runfeng/p/441741.html
Copyright © 2011-2022 走看看