WEB开发网
开发学院数据库MSSQL Server What‘snewisMicrosoftSQLServer2000(五) 阅读

What‘snewisMicrosoftSQLServer2000(五)

 2007-11-11 07:18:05 来源:WEB开发网   
核心提示:Microsoft sql server(WINDOWS平台上强大的数据库平台) 2000的索引并没有太多变化,本来还以为会有R-Tree、Bitmap Index之类的东东出来呢,What‘snewisMicrosoftSQLServer2000(五),结果很让人失望:(不过还是有一些变化的,第三讲里面已经说过了可以

  Microsoft sql server(WINDOWS平台上强大的数据库平台) 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

Tags:What snewisMicrosoftSQLServer

编辑录入:coldstar [复制链接] [打 印]
赞助商链接