What'snewisMicrosoftSQLServer2000(五)

王朝mssql·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航