国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Sybase > 正文

sybase 臨時數(shù)據(jù)庫

2019-09-08 23:34:51
字體:
供稿:網(wǎng)友

  缺省情況下,tempdb數(shù)據(jù)庫是放置在master設(shè)備上,容量為2M,而臨時數(shù)據(jù)庫是活動最為平凡的數(shù)據(jù)庫常常被用來排序、創(chuàng)建臨時表、重格式化等操作,所以tempdb的優(yōu)化應(yīng)該受到特別的關(guān)注。本篇文章目的在于使你掌握臨時數(shù)據(jù)庫的優(yōu)化策略以及臨時表的優(yōu)化使用。本文中,你將以調(diào)整臨時庫的位置開始,有步驟的完成臨時數(shù)據(jù)庫的優(yōu)化,并在此過程中了解到優(yōu)化臨時數(shù)據(jù)庫和臨時表的一些方法和規(guī)則。

實(shí)驗(yàn)環(huán)境的要求:你應(yīng)具有系統(tǒng)管理員的權(quán)限,系統(tǒng)中有auths和article表。

步驟:

第一步:調(diào)整臨時庫的位置

  tempdb數(shù)據(jù)庫缺省放在master設(shè)備上,將臨時數(shù)據(jù)庫發(fā)在分離的設(shè)備上是更可取的。

1)  初始化一個用來存放臨時數(shù)據(jù)庫的設(shè)備

disk init
name="tempdb_dev",
physname="d:/sybase/example/tempdb.dat",
vdevno=13,
size=15360

(注意:如果將tempdb數(shù)據(jù)庫放在多個設(shè)備上,需初始化多個數(shù)據(jù)庫設(shè)備)

2)將臨時數(shù)據(jù)庫擴(kuò)展到該一個設(shè)備上

   alter database tempdb on tempdb_dev=30

3)打開tempdb數(shù)據(jù)庫,從段上刪除master設(shè)備

sp_dropsegment "default",tempdb,master
sp_dropsegment logsegment,tempdb,master

4)發(fā)出如下命令,檢查default段中是否不再包含master設(shè)備

      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)

說明:若將臨時數(shù)據(jù)庫放在多個磁盤設(shè)備上,可以更好的利用并行查詢特性來提高查詢性能。

第二步:將臨時數(shù)據(jù)庫與高速緩沖進(jìn)行綁定。

  由于臨時表的創(chuàng)建、使用,臨時數(shù)據(jù)庫會頻繁地使用數(shù)據(jù)緩存,所以應(yīng)為臨時數(shù)據(jù)庫創(chuàng)建高速緩存,從而可以使其常駐內(nèi)存并有助于分散I/O:

1、創(chuàng)建命名高速緩存

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

2、重新啟動server
3、捆綁臨時數(shù)據(jù)庫到tempdb_cache高速緩存

sp_bindcache “tempdb_cache”, tempdb

4、若有大的I/O,配置內(nèi)存池

第三步:優(yōu)化臨時表

    大多數(shù)臨時表的使用是簡單的,很少需要優(yōu)化。但需要對臨時表進(jìn)行復(fù)雜的訪問則

應(yīng)通過使用多個過程或批處理來把表的創(chuàng)建和索引分開。以下兩種技術(shù)可以改善臨時表的優(yōu)化

Ø/t 在臨時表上創(chuàng)建索引

1)  臨時表必須存在
2)  統(tǒng)計(jì)頁必須存在(即不能在空表上創(chuàng)建索引)

Ø/t 把對臨時表的復(fù)雜的使用分散到多個批處理或過程中,以便為優(yōu)化器提供信息

下面的這個過程需要進(jìn)行優(yōu)化:

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”

說明:在同一個存儲過程或批處理中,創(chuàng)建并使用一個表時,查詢優(yōu)化器無法決定這個表的大小。

結(jié)論:通過本實(shí)驗(yàn)我們知道,臨時數(shù)據(jù)庫經(jīng)過優(yōu)化可以極大的提高系統(tǒng)性能。實(shí)際工作中,必須考慮具體應(yīng)用的情況,需長時間經(jīng)驗(yàn)的積累。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 蕲春县| 北碚区| 南丹县| 吉水县| 石门县| 阿克陶县| 巧家县| 贵港市| 拜泉县| 叙永县| 福州市| 石景山区| 五寨县| 田阳县| 林芝县| 武宁县| 镇江市| 喀喇沁旗| 北安市| 乌拉特前旗| 无锡市| 托克逊县| 建昌县| 揭西县| 喀什市| 厦门市| 叙永县| 四会市| 平江县| 大邑县| 永川市| 宜城市| 金阳县| 澄迈县| 仙桃市| 乐亭县| 宝丰县| 九龙坡区| 囊谦县| 依安县| 扎鲁特旗|