Sybase临时数据库的优化

 
   | |

导读:本篇文章目的在于使你掌握Sybase临时数据库的优化策略以及临时表的优化使用。

关键词:Sybase临时数据库 优化策略 临时表优化

正在加载数据...

  缺省情况下,tempdb数据库是放置在master设备上,容量为2M,而临时数据库是活动最为平凡的数据库常常被用来排序、创建临时表、重格式化等操作,所以tempdb的优化应该受到特别的关注。本篇文章目的在于使你掌握临时数据库的优化策略以及临时表的优化使用。本文中,你将以调整临时库的位置开始,有步骤的完成临时数据库的优化,并在此过程中了解到优化临时数据库和临时表的一些方法和规则。

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

  步骤:

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

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

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

  disk init
  name="tempdb_dev",
  physname="d:\sybase\example\tempdb.dat",
  vdevno=13,
  size=15360
  (注意:如果将tempdb数据库放在多个设备上,需初始化多个数据库设备)

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

  alter database tempdb on tempdb_dev=30

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

  sp_dropsegment "default",tempdb,master

  sp_dropsegment logsegment,tempdb,master

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

  select dbid,name,segmap from sysusages,sysdevices
  where sysdevices.low<=syusages.size+vstart
  and sysdevices.high>=sysusages.size+vstart-1
  and dbid=2
  and(status=2 or status=3)

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

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

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

  1、创建命名高速缓存

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

  2、重新启动server

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

  sp_bindcache “tempdb_cache”, tempdb

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

  第三步:优化临时表

  大多数临时表的使用是简单的,很少需要优化。但需要对临时表进行复杂的访问则

  应通过使用多个过程或批处理来把表的创建和索引分开。以下两种技术可以改善临时表的优化

  Ø 在临时表上创建索引

  1) 临时表必须存在

  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”

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

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

 
作者:佚名    
 
 
 
 
 

Sybase开发

 
经过1个多月的数据收集与整理,于09年末进行的“数据库薪酬调查”圆满结束。我们也在第一时间对数据进行了分析与整理,数据库工程师薪酬调查报告也正式出炉。
 
Sybase的这种异构数据复制和传统复制有什么区别?近年来数据移动、数据存储和实时数据传输运行数据等技术都发生了什么样的变化?
 
2008年11月4日至5日,2008 Sybase大中华区用户大会在北京万达索菲特大饭店召开。大会主要分为4日上午的高峰论坛、4日下午及5日全天三个并行的技术论坛。

热门技术手册排行

 

在本次的技术手册中,我们为您提供了PL/SQL的基础知识以及专家指导,包括了PL/SQL中的数据类型简介、PL/SQL函数与触发器以及PL/SQL中的存储过程等,相信您无论是高手还是菜鸟都可以获得有帮助的信息。

 

本系列文章由三部分组成,为Oracle数据库管理员(DBA)面试成功的必备手册。本专题内容囊括从DBA最初的面试开始,从写“杀手简历”到求职信、到面试过程到Oracle认证再到上升到公司高层最后到你成为公司里的明星DBA。专家为你一一指点迷津,最终让你登上成功的宝座。

 

要成为一名DBA,你需要具备哪些素质?DBA的薪酬待遇如何?DBA的职业道路究竟可以走向何方?我们将在本次的技术手册中为您一一解答。

 

在本次技术手册中,我们将对SQL Server存储过程的调试进行详细的介绍,包括了基础的调试方法和在调试过程中出现的T-SQL性能问题和解决方法。

 

本技术专题主要围绕sql server设计这个话题展开,侧重介绍了sql server集簇索引的设计、如何创建sql server索引、如何优化索引、索引的能与不能、处理sql server 2000索引碎片技巧以及维护sql server索引以实现查询优化等等。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录