2011-06-14 1 views
0

DB2 Blob 필드에 이미지를 저장해야합니다. 평균 이미지 크기는 약 200KB이지만 드문 경우 2-4MB의 이미지가 있습니다. 이 이미지를 거부하고 싶지 않으므로 BLOB(5M)을 정의 할 것입니다. 이것은 괜찮은가, 아니면 대부분이 사용되지 않더라도이 Blob은 항상 5MB를 소비 할 것인가?적은 데이터를 삽입하더라도 BLOB 열은 항상 정의 된 크기를 사용합니까?

평균을 찾기가 어려운 경우 BLOB 크기를 처리하는 일반적인 방법은 무엇입니까?

답변

3

블롭은 필요한만큼의 공간 만 사용합니다. 큰 최대 값을 정의하는 데 오버 헤드가 없습니다. (물리적 인 것보다는 "제한"이라고 생각하십시오.)

+0

오케이, 당연한 것으로 생각합니다. :) Thx! – unR

0

그 사실을 확인할 수 있습니다. BLOB (5M)은 DB2에 blob의 최대 크기가 5MB임을 나타냅니다. 이것은 내부 최적화를 위해 db2가 필요합니다. 할당 된 공간은 페이지 크기의 배수가 될 것이라는 점에 유의해야합니다. 따라서이를 바탕으로 최적화해야합니다. 당신이 이미지의 50 % 이상이 작은 경우

  1. 는 인라인을 사용하여 생각할 수 < 32K 대신 LOB가. https://blog.voina.org/?p=335

  2. 이미지가 1MB보다 크고 인라인은 효과가 없지만 32k 페이지 크기 여야합니다.

  3. 이미지의 대부분이 실제로 200k 주위에있는 경우 데이터베이스의 8k 페이지 크기를 사용하고 32KB의 LOB 청크를 할당하지 않아야하므로 디스크 공간이 느슨해 질 수 있습니다.

관련 문제