MariaDB [test]> createtable t1(id int,namevarchar(10) CHARACTERSET utf8) engine=Columnstore; ERROR 1178 (42000): The storage engine for the table doesn’t support The syntax or the data type(s) isnot supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
2、不支持COLLATE语法
1 2 3 4 5 6
MariaDB [test]> create table t1(id int) engine=Columnstore COLLATE=utf8_bin; ERROR 1178 (42000): The storage engine for the table doesn’t support The syntax or the data type(s) is not supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
MariaDB [test]> create table t1(id int,name varchar(10) COLLATE utf8_bin) engine=Columnstore; ERROR 1178 (42000): The storage engine for the table doesn’t support The syntax or the data type(s) is not supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
3、不支持TEXT/BLOB
1 2 3 4 5 6
MariaDB [test]> create table t1(id int,info text) engine=Columnstore; ERROR 1178 (42000): The storage engine for the table doesn’t support The syntax or the data type(s) is not supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
MariaDB [test]> create table t1(id int,info blob) engine=Columnstore; ERROR 1178 (42000): The storage engine for the table doesn’t support The syntax or the data type(s) is not supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
MariaDB [test]> createtable t1(update_time timestamp)engine=Columnstore; ERROR 1178 (42000): The storage engine for the table doesn’t support The syntax or the data type(s) isnot supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
MariaDB [test]> createtable t1(update_time timestampNOTNULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMP) engine=Columnstore; ERROR 1178 (42000): The storage engine for the table doesn’t support The syntax or the data type(s) isnot supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
5、decimal 不能大于18
1 2
MariaDB [test]> createtable t1(moneydecimal(19,2)) engine=Columnstore; ERROR 1815 (HY000): Internal error: CAL0009: (3)Createtable failed due to Syntax error: The maximum precision (total number of digits) that can be specified is18
6、不支持 ROW_FORMAT=COMPACT
1 2
MariaDB [test]> create table t1(id int)engine=Columnstore ROW_FORMAT=COMPACT; ERROR 1178 (42000): The storage engine for the table doesn’t support The syntax or the data type(s) is not supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
7、varchar最大8000
1 2
MariaDB [test]> createtable t1(namevarchar(8001))engine=Columnstore; ERROR 1815 (HY000): Internal error: CAL0009: (3)Createtable failed due tochar, varcharand varbinary length may not exceed 8000
8、不支持bit类型
1 2
MariaDB [test]> create table t1(status bit)engine=Columnstore; ERROR 1178 (42000): The storage engine for the table doesn't support The syntax or the data type(s) is not supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
9、comment不能携带’’引号
1 2
MariaDB [test]> create table t3(id int comment '主键''ID')engine=Columnstore; ERROR 1178 (42000): The storage engine for the table doesn't support The syntax or the data type(s) is not supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
10、行溢出,一行varchar不能大于65535(UTF8要除以3)
1
ERROR 1118 (42000): Row size too large. The maximum row size for the used tabletype, not counting BLOBs, is65535. This includes storage overhead, check the manual. You have to change somecolumnstoTEXTor BLOBs
11、不支持enum枚举类型
1 2
MariaDB [test]> create table t1(`type` enum('HOLIDAY','WORKDAY') DEFAULT NULL)engine=Columnstore; ERROR 1178 (42000): The storage engine for the table doesn't support The syntax or the data type(s) is not supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
ERROR 1178 (42000): The storage engine for the table doesn't support The syntax or the data type(s) is not supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
MariaDB [test]> create table user(id int)engine=Columnstore; ERROR 1178 (42000): The storage engine for the table doesn’t support The syntax or the data type(s) is not supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
MariaDB [test]> create table t1(comment varchar(100))engine=Columnstore; ERROR 1178 (42000): The storage engine for the table doesn’t support The syntax or the data type(s) is not supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
MariaDB [test]> select distinct apply_time from testORDERBY id limit 1;
ERROR 1178 (42000): The storage engine for the table doesn't support IDB-2022: ORDERBY column not inDISTINCTlist.
2、查询的字段不在group by里,就不能分组统计
1 2
MariaDB [test]> select id from test group by qq; ERROR 1815 (HY000): Internal error: IDB-2021: 'test.id' is notin GROUP BY clause. All non-aggregate columns in the SELECT and ORDER BY clause must be included in the GROUP BY clause.
3、alter不支持change/modify更改字段属性
1 2
MariaDB [test]> alter table t1 change id id bigint; ERROR 1815 (HY000): Internal error: CAL0001: Alter table Failed: Changing the datatype of a column is not supported
4、alter不支持多列操作和不支持after
1 2 3 4 5
MariaDB [test]> alter table t1 add age tinyint,add address varchar(100); ERROR 1178 (42000): The storage engine for the table doesn't support Multiple actions in alter table statement is currently not supported by Columnstore.
MariaDB [test]> alter table t1 add age tinyint after id; ERROR 1178 (42000): The storage engine for the table doesn't support The syntax or the data type(s) is not supported by Columnstore. Please check the Columnstore syntax guide for supported syntax or data types.
5、字段类型不同 join 关联查询报错
1 2
MariaDB [test]> select t1.id from t1 join t2 on t1.id=t2.cid; ERROR 1815 (HY000): Internal error: IDB-1002: 't1'and't2' have incompatible column type specified for join condition.
6、DML语句会非常慢
DML, i.e. INSERT, UPDATE, and DELETE, provide row level changes. ColumnStore is optimized towards bulk modifications and so these operations are slower than they would be in say InnoDB. Currently ColumnStore does not support operating as a replication slave target. https://mariadb.com/kb/en/library/columnstore-data-ingestion/