Chinaunix首页 | 论坛 | 博客
  • 博客访问: 337018
  • 博文数量: 1051
  • 博客积分: 53280
  • 博客等级: 大将
  • 技术积分: 6670
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-09 13:21
文章分类

全部博文(1051)

文章存档

2011年(1)

2008年(1050)

我的朋友

分类:

2008-09-09 15:45:50


  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
  
【责编:admin】

--------------------next---------------------

阅读(96) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~