Microsoft SQL Server 的索引并没有太多变化本来还以为会有RTreeBitmap Index之类的东东出来呢结果很让人失
望(
不过还是有一些变化的第三讲里面已经说过了可以给View加索引还有一点就是可以给计算列(Computed Columns)加索引
?不知道什么是Computed Columns?
其实这东东我也就用过一次抄一段Online Book的Sample Code吧
CREATE TABLE t (a int b int c int x float
y as CASE x
WHEN THEN a
WHEN THEN b
ELSE c
END)
CREATE TABLE mytable
(
low int
high int
myavg AS (low + high)/
)
看明白了吧就是as后面加一个计算值而已OK continue
现在虽然可以给计算列加索引了但是还是受到一些限制的比如说象avgsum这样的和整张表都有关的计算值就不可以加索
引还有具有不确定计算值的也不可以加索引表达式中使用的字段也必须是这张表中的
SQL 里面对索引作了一些优化不过具体的细节不是很清楚我所知道的就是在多CPU的机器上建立索引的时候可以使用平行
多线程来扫描和分类数据实现的技术细节没有太多的意思简单介绍一下就是服务器在建立索引之前对表做一个快速的随机扫
描把数据按照设置的平行度分为几块然后每个线程利用过滤器对基表进行查询分别建立索引结构每个线程都完成之后再把
这些索引连接起来
SQL 中很多地方对多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