奇趣技术网 收藏本站
设为主页
商务合作
首页 新闻中心 行业动态 软件新闻 安全资讯 病毒预警 漏洞发布 操作系统 Dos Win9x Win2000 WinXP Win2003 WinVista Linux Unix
数据库 DB2 Access MSSQL MySQL Oracle Sybase 编程技术 ASP PHP JSP CGI/Perl XML .Net C/C++/C# VB VC Delphi Java 汇编
安全技术 安全教学 工具介绍 漏洞利用 病毒防范 入侵检测 防火墙 安全防范 汉化破解 攻击实例 加密解密 技术论坛
中华网络安全联盟 >> 数据库 >> Sybase >> Sybase临时数据库tempdb
数据库
Access
SQL Server
MySQL
DB2
Oracle
Sybase
  • Sybase数据库死锁对策

  • SYBASE ASA数据库恢复

  • Sybase数据库简介

  • SYBASE零售行业解决方

  • SYBASE数据库日志详解

  • Sybase数据库备份方案

  • SYBASE数据库用户管理

  • Sybase数据库的碎片整

  • Sybase临时数据库tempdb
    字体:

    中华网络安全联盟    作者:佚名    来源:网络转载    时间:2006-3-23

    本文中,你将以调整临时库的位置开始,有步骤的完成临时数据库的优化,并在此过程中了解到优化临时数据库和临时表的一些方法和规则。

    实验环境的要求:你应具有系统管理员的权限,系统中有auths和article表。

    步骤:

    第一步:调整临时库的位置

    tempdb数据库缺省放在master设备上,将临时数据库发在分离的设备上是更可取的。

    1)初始化一个用来存放临时数据库的设备

    diskinit

    name="tempdb_dev",

    physname="d:\sybase\example\tempdb.dat",

    vdevno=13,

    size=15360

    (注意:如果将tempdb数据库放在多个设备上,需初始化多个数据库设备)

    2)将临时数据库扩展到该一个设备上

    alterdatabasetempdbontempdb_dev=30

    3)打开tempdb数据库,从段上删除master设备

    sp_dropsegment"default",tempdb,master

    sp_dropsegmentlogsegment,tempdb,master

    4)发出如下命令,检查default段中是否不再包含master设备

    selectdbid,name,segmapfromsysusages,sysdevices

    wheresysdevices.low<=syusages.size+vstart

    andsysdevices.high>;=sysusages.size+vstart-1

    anddbid=2

    and(status=2orstatus=3)

    说明:若将临时数据库放在多个磁盘设备上,可以更好的利用并行查询特性来提高查询性能。

    第二步:将临时数据库与高速缓冲进行绑定

    由于临时表的创建、使用,临时数据库会频繁地使用数据缓存,所以应为临时数据库创建高速缓存,从而可以使其常驻内存并有助于分散I/O:

    1、创建命名高速缓存

    sp_cacheconfig“tempdb_cache”,”10m”,”mixed”

    2、重新启动server

    3、捆绑临时数据库到tempdb_cache高速缓存

    sp_bindcache“tempdb_cache”,tempdb

    4、若有大的I/O,配置内存池

    第三步:优化临时表

    大多数临时表的使用是简单的,很少需要优化。但需要对临时表进行复杂的访问则应通过使用多个过程或批处理来把表的创建和索引分开。以下两种技术可以改善临时表的优化slash;

    在临时表上创建索引

    1)临时表必须存在

    2)统计页必须存在(即不能在空表上创建索引)

    slash;把对临时表的复杂的使用分散到多个批处理或过程中,以便为优化器提供信息。

    下面的这个过程需要进行优化:

    createprocbase_proc 

    as

    select*into#huge_resultfromauths

    select*fromarticle,#huge_resultwherearticle.author_code=

    #huge_result.author_codeandsex=”0”

    使用两个过程可以得到更好的性能

    1)

    createprocbase_proc 

    as

    select*

    into#huge_result

    fromauths

    execselect_proc

    2)

    createprocselect_proc 

    as

    select*fromarticle,#huge_result

    wherearticle.author_code=#huge_result.author_codeandsex=”0”

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

    结论:通过本实验我们知道,临时数据库经过优化可以极大的提高系统性能。实际工作中,必须考虑具体应用的情况,需长时间经验的积累。

    (  
    字体:
     
    设为主页 收藏本站 联系我们 友情连接 商务合作 网友留言
    Copyright©2006-2008 中华网络安全联盟 All rights reserved.