Whats new is Microsoft SQL Server 2000(五)
点击次数:29 次 发布日期:2008-11-22 13:40:18 作者:源代码网
|
源代码网推荐
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
源代码网供稿. |