2011-06-14 51 views
0

我需要將圖像存儲在DB2 Blob字段中。平均圖像大小約爲200KB,但在極少數情況下會有2-4MB的圖像。我不想拒絕這些圖像,所以我想我會定義一個BLOB(5M)。這可以做,或者即使大部分未使用,這個Blob總是會消耗5MB嗎?即使插入的數據較少,BLOB列是否也會消耗定義的大小?

如果很難找到平均值,處理Blob大小的常用方法是什麼?

回答

3

blob將只根據需要使用盡可能多的空間。在定義一個大的最大值時沒有任何開銷(把它想象成一個「約束」而不是物理事物)

+0

好吧,好,我只是把這理所當然:) Thx! – unR 2011-06-14 11:32:16

0

我可以證實這一點。 BLOB(5M)僅向DB2指示您的blob將具有5MB的最大大小。 db2需要這種內部優化。 請注意,分配的空間將成爲頁面大小的倍數,因此您必須基於此優化材料。

  1. 如果圖像的50%以上是小< 32K你可能認爲使用內嵌的高吊球來代替。請參閱https://blog.voina.org/?p=335

  2. 如果您的圖片大於1MB,則內聯無效,但您應具有32k頁面大小。

  3. 如果你的大部分圖像實際上在200k左右,也許你應該考慮爲數據庫使用8k的頁面大小,而不是爲32k的LOBs塊分配,這可能會導致磁盤空間不足。

相關問題