索引 索引鍵的最大大小

2021-09-06 08:13:40 字數 1436 閱讀 4464

計算索引鍵的大小若要計算索引鍵的大小, 請按下列步驟執行操作。

顯示索引將依據的表列的屬性, 可以使用 sys.columns 目錄檢視執行此操作. 

求索引鍵中將定義的每一列的長度之和. 

例如, 以下語句聚合 person.address 表中指定列的 sys.columns 檢視索引的 max_length 列.

use

adventureworks2008r2;

goselect

sum(max_length) as

totalindexkeysize

from

sys.columns

where name in(n'

addressline1

', n'

addressline2

', n'

city

', n'

stateprovinceid

', n'

postalcode')

andobject_id

=object_id(n'

person.address

');

如果表列為 unicode 資料型別(例如, nchar 或 nvarchar), 則所顯示的列長度是該列的儲存長度. 這是 create table

語句中指定的字元數的兩倍. 在前面的示例中, city 定義為 nvarchar(30) 資料型別. 因此, 該列的儲存長度為 60.

3. 如果總長度小於 900 位元組, 則該列可以作為索引鍵列. 如果總長度超過 900 位元組, 則檢視有關選項的以下資訊和其他注意事項.

create index 語句使用下列演算法來計算索引鍵大小 :

下表總結了建立達到或超過最大索引鍵大小限制的索引的結果.

在執行 create index 語句時, 表中的任何行都不能有總長度超過 900 位元組的索引鍵值.

使用包含列以避免大小限制
可以將非鍵列包含在非聚集索引中來避免 16 鍵列的最大當前索引大小限制和 900 位元組的最大索引鍵大小. sql server 資料庫引擎在計算索引鍵列數或索引鍵列的總大小時不考慮非鍵列. 在具有包含列的非聚集索引中, 索引鍵列的總大小限制在 900 位元組. 所有非鍵列的總大小只受 include 子句中所指定列的大小限制. 例如, varchar(max) 列限制為 2 gb. include 子句中的列可以為除 text, ntext 和 image 以外的所有資料型別.

注意: 在對錶進行分割槽時, 如果分割槽鍵列尚未出現在非唯一聚集索引中, 則它們將會由資料庫引擎新增到索引中. 索引列合併後的大小(不將包含列計算在內)加上任何新增的分割槽列在非唯一聚集索引中不能超過 1800 位元組.

設定檔案上傳的最大大小

系統環境 win8 開發環境 asp.net mvc 功能 檔案上傳 在上傳檔案時,比較小的檔案會直接上傳成功,大的檔案頁面報錯 檔案超過了最大請求長度 經過查明 需要在配置檔案裡面設定檔案上傳限定的兩個屬性值 maxallowedcontentlength,maxrequestlength 允許上...

設定檔案上傳的最大大小

系統環境 win8 開發環境 asp.net mvc 功能 檔案上傳 在上傳檔案時,比較小的檔案會直接上傳成功,大的檔案頁面報錯 檔案超過了最大請求長度 經過查明 需要在配置檔案裡面設定檔案上傳限定的兩個屬性值 maxallowedcontentlength,maxrequestlength 允許上...

mysql 鍵 索引 五 MySQL索引和鍵

mysql索引和鍵 不同的索引有不同功能 不同的約束方式,不同的使用規則 優點 對一張表來說,索引就像一本書的目錄,能夠加快查詢速度 缺點 占用物理儲存空間 索引資訊儲存在表對應的檔案裡 會降低插入 更新表記錄的速度 insert delete update 1.索引的型別 普通索引 index 唯...