合 StarRocks 常见问题汇总
建表
Q:建表报错:Float or double can’t be used as a key, use decimal instead
A:key列不能用float或者double,要用decimal表示小数
Q:建表报错:Invalid column order. value should be after key
A:key列在前,value列在后
Q:varchar最长多长?
A:最长65533字节(由于前两个字节用于表示长度,因此比65535少两字节)
Q:比varchar(65533)更长的字符串,用什么存?
A:业务层切分为多个字段
Q:是否支持string类型?
A:Doris有char、varchar两种类型用来处理string类型的数据
Q:可以设置自增列吗?
A:不支持自增的列
Q:Doris支持map和struct吗?
A:不支持
Q:Doris支持text类型的字段吗?
A:不支持,可以考虑使用char和varchar
Q:Doris的表有timezone属性吗
A:没有
Q:如何设置表的字符编码为charset=gbk?
A:Doris只支持utf8编码,对gbk不支持
表的属性和信息查看
Q:如何看一个表占了多少物理存储?
A:show data,包括所有副本;
Q:如何查看某个表是行存,还是列存?
A:show create table,查看建表语句中PROPERTIES中的storage_type字段
Q:如何把建表语句描述出来?
A:show create table;
Q:如何查看已有的rollup表?
A:desc table_name all;
Q:如何看一个表有哪些partition?
A:show partitions from table_name;
修改表
Q:Doris可以对已有的表增加列吗?
A:可以,具体help alter table
Q:Doris删除列报错:old schema is not deleted
A:旧的schema可能有之前的查询在查,因此需要等待一段时间,等之前的查询完成,删除旧的schema
Q:Doris表怎么修改字段的默认值?
A:Doris不支持修改默认值
Q:schema change是否可以中止?
A:可以,具体可以help cancel alter
Q:如何添加partition?
A:比如现有分区 [MIN, 2013-01-01),增加分区 [2013-01-01, 2014-01-01),使用默认分桶方式
ALTER TABLE example_db.table_name ADD PARTITION p1 VALUES LESS THAN (“2014-01-01”);
具体可以help alter table
Q:sum类型的字段,如果一直增加超出了存储长度?
A:需要用户修改列类型
Q:如何修改varchar的长度?
A:help alter table, 查看schema change相关
Q:如何取消bloom filter的建立?
A:cancel alter table column from table_name
Q:建表时忘记指明value列,能否通过alter将key列修改为value列,并指明聚合类型
A:不能
Q:建表后,表中hash分桶的列,以及指定的bucket的数量,还能更改么?
A:对于单分区表不能更改,多分区表可以在创建新分区的时候重新指定hash的列和bucket数
Q:可以修改列名吗?
A:不能
Q:一张表同时只能创建一个rollup?
A:是的
Q:如何查看rollup的进度?
A:show alter table rollup
Q:建了rollup会影响数据的导入吗?
A:不会
Q:建了一个rollup表 ,客户端显示执行成功了,但是 desc table_name all 没有显示上卷表
A:创建rollup是异步的,show alter table rollup 查看进度
Q:delete报错:Syntax error at:Encountered: WHERE
A:需要指定partition,具体help delete
Q:delete from支持like吗?
A:不支持
Q:执行delete后,查询效率明显降低
A:delete执行之后目前是会影响性能,建议少发delete
Q:delete语句必须指定分区吗?
A:是的
导入
Q:show load能按照一些条件查询么,能部分匹配么
A:可以,部分匹配不带%%,不支持NOT LIKE,具体可以help show load
Q:导入Doris后数据条数少了?
A:1.检查是否聚合了,确认下导入文件有没有重复的key
2.检查是否有不符合质量要求的数据被过滤,通过show warning查看数据质量不符合的数据
Q:导入命令返回后发现数据没有导入进去