列に大量のBLOBデータがあるテーブルがあります。データをファイルシステムにダンプするユーティリティを作成しています。ただし、ダンプする前に、テーブル全体のすべてのblobフィールドをエクスポートするために必要なスペースがディスクにあるかどうかを確認する必要があります。
テーブル内のすべてのBLOBフィールドのサイズを取得するための効率的なアプローチを提案してください。
MySQL関数OCTET_LENGTH(your_column_name)
を使用できます。詳細については、 here を参照してください。
select sum(length(blob_column)) as total_size
from your_table
select sum(length(blob_column_name)) from desired_tablename;
悲しいことに、これはせいぜいDB固有です。
OracleでBLOBを含むテーブルの合計サイズを取得するには、次を使用します。 https://blog.voina.org/?p=374
悲しいことに、これはDB2で機能しません。私はまだ代替を見つける必要があります。
シンプルな
select sum(length(blob_column)) as total_size
from your_table
blob列に格納されているblobへの参照に基づいてblobサイズを正しく推定しないため、正しいクエリではありません。 blobリポジトリからblobの実際の割り当てサイズをディスク上で取得する必要があります。