直播中
在一個(gè)Identity列中建一個(gè)Clustered Index會(huì)提高數(shù)據(jù)庫中Table的使用性能。
by Kimberly Tripp-Simonnet
在SQL Server7.0或更新的版本中,提高性能的最好方法是根據(jù)數(shù)據(jù)的使用情況為其建立一個(gè)正確的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的使用決定了數(shù)據(jù)庫中的數(shù)據(jù)結(jié)構(gòu)、索引、存儲(chǔ)過程等情況。這里有一個(gè)簡單的技巧:通過在一個(gè)被稱為單向自增主鍵(monotonically increasing surrogate key)的Identity 列中建立一個(gè)Clustered Index(每個(gè)表中只能有一個(gè))來提高表的性能。這是一個(gè)用在大多數(shù)OLTP和OLAP數(shù)據(jù)庫或混用OLTP/OLAP數(shù)據(jù)庫中的通用語句。通過給OLTP或混用OLTP/OLAP表插入創(chuàng)建一個(gè)“熱點(diǎn)”(hot spot)能夠使性能有所提高。你可以通過更好地使用cache來實(shí)現(xiàn)(對(duì)表的訪問獨(dú)立程度越強(qiáng)則說明對(duì)cache的利用率越高)。有時(shí)認(rèn)為在OLAP數(shù)據(jù)庫中應(yīng)該對(duì)限定范圍的掃描(range scan)使用聚集,但是通常這種掃描在使用非聚集索引時(shí)可以獲得更好的效果。
關(guān)于作者:
Kimberly Tripp-Simonnet從1989年的FoxBase開始從事數(shù)據(jù)庫方面的研究,并從1991年起開始研究SQL Server。在過去 的六年里,Kimberly在她自己的公司里(SYSolutions Inc.)擔(dān)任培訓(xùn)和資訊專員。在此之前,她曾在Microsoft任職,包括為SQL Server開發(fā)小組的Microsoft University 及技術(shù)撰稿人擔(dān)任主題專家和培訓(xùn)教師。