subdivide_bitmap
説明
大きなビットマップを複数のサブビットマップに分割します。
この関数は主にビットマップをエクスポートするために使用されます。ビットマップが大きすぎると、MySQLプロトコルで許可されている最大パケットサイズを超えてしまいます。
この関数はv2.5からサポートされています。
構文
BITMAP subdivide_bitmap(bitmap, length)
パラメータ
bitmap
: 分割が必要なビットマップ、必須。
length
: 各サブビットマップの最大長、必須。この値より大きいビットマップは複数の小さなビットマップに分割されます。
戻り値
length
以下の複数のサブビットマップを返します。
例
テーブル t1
があり、その中の c2
列がBITMAP列であるとします。
-- bitmap_to_string() を使用して `c2` の値を文字列に変換します。
mysql> select c1, bitmap_to_string(c2) from t1;
+------+----------------------+
| c1 | bitmap_to_string(c2) |
+------+----------------------+
| 1 | 1,2,3,4,5,6,7,8,9,10 |
+------+----------------------+
-- `c2` を最大長が3の小さなビットマップに分割します。
mysql> select c1, bitmap_to_string(subdivide_bitmap) from t1, subdivide_bitmap(c2, 3);
+------+------------------------------------+
| c1 | bitmap_to_string(subdivide_bitmap) |
+------+------------------------------------+
| 1 | 1,2,3 |
| 1 | 4,5,6 |
| 1 | 7,8,9 |
| 1 | 10 |
+------+------------------------------------+