作者shiengchyi (上班族之朝九晚六?!)
看板Database
标题[SQL ] 丛集(cluster)非丛集(noncluster)
时间Wed Apr 14 11:20:41 2010
由於目前面临到要处理大量资料(1000w笔),
所以在了解关於丛集(cluster)和非丛集(noncluster)的问题,
根据我拜请Google大神的结果,
一般设定的PKey MSSQL预设是 cluster,每个Table只能有一个(组) PKey,
每个Table 也只能有一个cluster index(es),
因为cluster index是实际存放在硬体当中的顺序。
相较於noncluster index,每个Table 至多可以有 999 个 (By MSDN),
针对常用的查询栏位来设定 noncluster index的话,可以有效的增加查询的速度,
以上是小弟的了解,以下是用来表达问题的例子:
Table Map里面有三个栏位:[index](autoIncrease),X,Y;用於纪录某座标发生事件,
(X,Y)用来表示座标,同一个座标可能发生多个事件,所以增加一个[index]栏位,
我的疑问是,我应该三个栏位视为一组Pkey,
还是以[index]为PKey,然後将X,Y设定成 ununique noncluster indexes,
其目的是为了能够加速资料查询,还请有经验的乡民解惑,感谢 ^^
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.128.174.130
1F:推 evernever:这要看你 select where 的条件哪种用最多 04/14 12:11