MySQL 兼容性
本节主要介绍 seekdb 与原生 MySQL 数据库的兼容性对比信息。
seekdb 兼容 MySQL 5.7/8.0 的绝大部分功能和语法。由于产品架构不同,或者客户需 求不大,有些功能并没有被支持。本节主要从以下几方面介绍 seekdb 与原生 MySQL 数据库的不同:
-
数据类型
-
SQL 语法
-
过程性语言
-
系统视图
-
字符集
-
字符序
-
函数与表达式
-
分区支持
-
存储引擎
-
优化器
数据类型
seekdb 支持的数据类型有:
-
数值类型
-
整数类型:
BOOL/BOOLEAN/TINYINT、SMALLINT、MEDIUMINT、INT/INTEGER和BIGINT。 -
定点类型:
DECIMAL和NUMERIC。 -
浮点类型:
FLOAT和DOUBLE。 -
Bit-Value 类型:
BIT。
-
-
日期时间类型:
DATETIME、TIMESTAMP、DATE、TIME和YEAR。 -
字符类型:
CHAR、VARCHAR、BINARY和VARBINARY。 -
大对象类型:
TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。 -
文本类型:
TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT和STRING。 -
枚举类型:
ENUM。 -
集合类型:
SET。 -
JSON 数据类型
-
空间数据类型
-
高效压缩位图数据类型
-
数组数据类型
-
向量数据类型
SQL 语法
tab 支持
SELECT
-
支持大部分查询功能,包括支持单、多表查询;支持子查询;支持内联接、半联接以及外联接;支持分组、聚合;支持常见的概率、线性回归等数据挖掘函数等。
-
支持对多个
SELECT查询的结果进行UNION、UNION ALL、MINUS、EXCEPT或INTERSECT等集合操作。 -
支持使用
EXPLAIN语法查看执行计划。
INSERT
-
支持单行和多行插入数据,同时支持指定分区插入数据。
-
支持
INSERT INTO ... SELECT ...语句。
UPDATE
-
支持单列和多列更新数据。
-
支持使用子查询更新数据。
-
支持集合更新数据。
DELETE
- 支持单表和多表删除。
TRUNCATE
- 支持完全清空指定表。
tab 不支持
SELECT
- 不支持
SELECT ... FOR SHARE ...语法。
TRUNCATE
- 不支持在进行事务处理和表锁定的过程中操作。