本文为您介绍MaxCompute SQL的限制项。

边界名 最大值/限制条件 分类 说明
表名长度 128字节 长度限制 表名、列名中不能有特殊字符,只能用英文小写字母(a-z)、英文大写字母(A-Z)、数字和下划线_,且以字母开头。
注释长度 1024字节 长度限制 注释内容是长度不超过1024字节的有效字符串。
表的列定义 1200个 数量限制 单表的列定义个数最多1200个。
单表分区数 60000 数量限制 一张表最多允许60000个分区。
表的分区层级 6级 数量限制 在表中建的分区层次不能超过6级。
屏显 10000行 数量限制 SELECT语句屏显默认最多输出10000行。
INSERT目标个数 256个 数量限制 进行MULTI-INSERT时,同时插入的数据表数量限制为256个。
UNION ALL 256个表 数量限制 最多允许256个表的UNION ALL。
MAPJOIN 128个小表 数量限制 MAPJOIN最多允许128张小表。
MAPJOIN内存限制 512M 数量限制 MAPJOIN所有小表的内存限制不能超过512M。
窗口函数 5个 数量限制 一个SELECT中最多允许5个窗口函数。
ptinsubq 1000行 数量限制 一个分区列在子查询中时,子查询的返回结果不可以超过1000行。
SQL语句长度 2M 长度限制 允许的SQL语句的最大长度。包括您使用SDK调用SQL的场景。
WHERE子句条件个数 256个 数量限制 WHERE子句中可使用条件个数。
列记录长度 8M 数量限制 表中单个单元的最大长度。
IN的参数个数 1024 数量限制 IN的最大参数限制,例如in (1,2,3….,1024)in(…)如果参数过多,会造成编译时的压力。1024是建议值、不是限制值。
jobconf.json 1M 长度限制 jobconf.json的大小为1MB。当表包含的分区数量太多时,可能超过jobconf.json,超过1MB。
视图 不可写 操作限制 视图不支持写入,不支持INSERT操作。
列的数据类型 不允许 操作限制 不允许修改列的数据类型、列位置。
Java UDF函数 不允许为ABSTRACT或者STATIC 操作限制 Java UDF函数不能是ABSTRACT或STATIC。
最多查询分区个数 10000 数量限制 最多查询分区个数不能超过10000。
说明 以上MaxCompute SQL限制项均无法修改。