程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> Whats new is Microsoft SQL Server 2000(五)

Whats new is Microsoft SQL Server 2000(五)

編輯:關於SqlServer
Microsoft SQL Server 2000的索引並沒有太多變化,本來還以為會有R-Tree、Bitmap Index之類的東東出來呢,結果很讓人失
望:(
不過還是有一些變化的,第三講裡面已經說過了可以給VIEw加索引,還有一點就是可以給計算列(Computed Columns)加索引。
?不知道什麼是Computed Columns?我倒!
其實這東東我也就用過一次,抄一段Online Book的Sample Code吧
CREATE TABLE t2 (a int, b int, c int, x float,
    y as CASE x
            WHEN 0 THEN a
            WHEN 1 THEN b
            ELSE c
        END)
CREATE TABLE mytable
   (
    low int,
    high int,
    myavg AS (low + high)/2
   )
看明白了吧,就是as後面加一個計算值而已,OK, continue
現在雖然可以給計算列加索引了,但是還是受到一些限制的,比如說,象avg、sum這樣的和整張表都有關的計算值就不可以加索
引,還有,具有不確定計算值的也不可以加索引,表達式中使用的字段也必須是這張表中的。

SQL 2000裡面對索引作了一些優化,不過具體的細節不是很清楚,我所知道的就是在多CPU的機器上建立索引的時候可以使用平行
多線程來掃描和分類數據。實現的技術細節沒有太多的意思,簡單介紹一下就是,服務器在建立索引之前對表做一個快速的隨機掃
描,把數據按照設置的平行度分為幾塊,然後每個線程利用過濾器對基表進行查詢,分別建立索引結構,每個線程都完成之後再把
這些索引連接起來。

SQL 2000中很多地方對多CPU和Clustered Server做了優化,可惜現在的資料太少,不過使用一段時間就會慢慢發現的了。

下期預告

全文檢索

附錄:
不確定返回值的函數
@@ERROR
@@IDENTITY
@@ROWCOUNT
@@TRANCOUNT
APP_NAME
CURRENT_TIMESTAMP
CURRENT_USER
DATENAME
FORMATMESSAGE
GETANSINULL
GETDATE
GetUTCDate
HOST_ID
HOST_NAME
IDENT_INCR
IDENT_SEED
IDENTITY
NEWIDPERMISSIO
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved