2012-05-11 47 views
8

Varchar(max)列不允許爲SQL Server中的主鍵。Varchar(max)列不允許爲SQL Server中的主鍵

什麼是可以作爲主鍵的varchar類型的最大長度。

這可能是一個壞習慣,但遇到了這種情況。

+3

爲什麼你沒有ID列? –

+0

除了你期望超過8000個字符的字段,你還沒有使用varchar(max)?由於索引問題,您會遇到性能問題。 – HLGEM

回答

16

900字節是主鍵的最大長度,在我看來這是一個壞主意,爲什麼不使用代理鍵呢?

4

此問題已經回答in this thread;簡短的答案是索引字段不能超過900字節。也就是說,使用長VARCHAR字段作爲索引的原因通常是一個糟糕的主意,例如效率和可維護性等諸多原因。

3

主鍵在所有其他索引中用於標識行。將潛在的多兆字節值作爲關鍵字是沒有意義的,因此對任何關鍵字中的總字節數都有限制。

相關問題