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)
介绍说明:若将临时数据库放在多个磁盘设备上可以更好利用并行查询特性来提高查询性能
第 2步:将临时数据库和高速缓冲进行绑定
  由于临时表创建、使用临时数据库会频繁地使用数据缓存Cache所以应为临时数据库创建高速缓存Cache从而可以使其常驻内存并有助于分散I/O:
1、创建命名高速缓存Cache
sp_cacheconfig “tempdb_cache”,”10m”,”mixed”
2、重新启动server
3、捆绑临时数据库到tempdb_cache高速缓存Cache
sp_bindcache “tempdb_cache”, tempdb
4、若有大I/O配置内存池
第 3步:优化临时表
     大多数临时表使用是简单很少需要优化但需要对临时表进行复杂访问则
应通过使用多个过程或批处理来把表创建和索引分开以下两种技术可以改善临时表优化
slash;         在临时表上创建索引
1)  临时表必须存在
2)  统计页必须存在(即不能在空表上创建索引)
slash;         把对临时表复杂使用分散到多个批处理或过程中以便为优化器提供信息
下面这个过程需要进行优化:
create proc base_proc
as
select * o #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 *
o #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”
介绍说明:在同个存储过程或批处理中创建并使用个表时查询优化器无法决定这个表大小
结论:通过本实验我们知道临时数据库经过优化可以极大提高系统性能实际工作中必须考虑具体应用情况需长时间经验积累


Tags:  sybase数据库乱码 sybase创建数据库 sybase数据库配置 sybase数据库

延伸阅读

最新评论

发表评论