看板 Database 關於我們 聯絡資訊
由於目前面臨到要處理大量資料(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
evernever:這要看你 select where 的條件哪種用最多 04/14 12:11