我正在創建一個用於數據處理的查找表。結構相當簡單。正常的SQL Server索引是否包含主鍵值?
第一個字段將是主鍵和聚集索引。將會有第二個字段將跟蹤項目類型。
我們希望在第二個字段的索引,因爲一些(但不是所有的查詢)將在該字段上搜索。這些查詢還需要提取主鍵的值。
我希望利用非聚集索引的查詢不必去表並獲取主鍵值。
所以我的問題是做普通的SQL Server索引有他們的主鍵值,或者他們只是有一個指向聚集索引的指針(爲我的目的,我只是假設主鍵和聚集索引是共同擴展的)?如果它只包含一個指向磁盤的指針而不是主鍵值,那麼我正考慮使第一列(主鍵)成爲基於第二列的正常索引的包含列。
我不希望在索引中沒有定義的字段出現在它,它是否羣集/主鍵或其它方式。如果您希望非聚集索引覆蓋主鍵列,請明確添加它。 – Oded
不是*主鍵值* - 而是**集羣鍵**。現在,默認情況下,主鍵*是集羣鍵 - 但不一定是這樣。 –
謝謝你們。爲了這個問題的目的,它們是一樣的。看起來答案是肯定的,它的值在常規的非聚集索引上,所以我不需要包含列。 – geoffrobinson