MySQL Cluster 7.3.5 でディスク ストレージを使用してテーブルを作成しようとすると、次のエラーが発生します。
Got error 851 'Maximum 8052 bytes of FIXED columns supported, use varchar or COLUMN_FORMAT DYNAMIC instead' from NDBCLUSTER
テーブルの DDL は次のとおりです。
DROP TABLE IF EXISTS `temp_audit_table`;
CREATE TABLE `temp_audit_table` (
`id` INT(7) NOT NULL,
`transaction_id` INT(7) NULL DEFAULT NULL,
`action_time` DATETIME NULL DEFAULT NULL,
`logged_in_user` VARCHAR(255) NULL DEFAULT NULL COLLATE 'latin1_bin',
`action` VARCHAR(20) NULL DEFAULT NULL COLLATE 'latin1_bin',
`entity_type` VARCHAR(255) NULL DEFAULT NULL COLLATE 'latin1_bin',
`entity_index` VARCHAR(255) NULL DEFAULT NULL COLLATE 'latin1_bin',
`item_changed` VARCHAR(255) NULL DEFAULT NULL COLLATE 'latin1_bin',
`description` VARCHAR(255) NULL DEFAULT NULL COLLATE 'latin1_bin',
`old_value` VARCHAR(4000) NULL DEFAULT NULL COLLATE 'latin1_bin',
`new_value` VARCHAR(4000) NULL DEFAULT NULL COLLATE 'latin1_bin',
`group_id` INT(11) NULL DEFAULT NULL,
`user_id` INT(11) NULL DEFAULT NULL,
`modified_user` VARCHAR(30) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
STORAGE DISK TABLESPACE hhmefep_tbs ENGINE = ndbcluster;
上記のDDLについて1つ疑問があります。
「ENGINE = ndbcluster;」のみを指定すると テーブルスペースなどのすべての長い説明ではなく、テーブルが作成され、2 つの mysql クラスター ノードにも表示されます (つまり、複製されます)。
では、この場合はどうなりますか..?
1) テーブル全体がメモリに格納されていますか?
2) DDL でストレージ DISK を指定することは必須ですか?
みんな助けてください..