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

What‘snewisMicrosoftSQLServer2000(五)

編輯:關於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
  NEWIDPERMISSIONS
  SESSION_USER
  STATS_DATE
  SYSTEM_USER
  TEXTPTR
  TEXTVALID
  USER_NAME
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved