其他问题
本文汇总了使用 StarRocks 时的其他常见问题。
VARCHAR(32) 和 STRING 占用的存储空间相同吗?
VARCHAR(32) 和 STRING 都是变长数据类型。当储存相同长度的数据时,VARCHAR(32) 和 STRING 占用的储存空间相同。
查询时,VARCHAR(32) 和 STRING 的性能相同吗?
相同。
Oracle 导出的 TXT 文件,在将其字符集修改成 UTF-8 后仍然乱码,如何处理?
将文件字符集视为 GBK 进行字符集转换,步骤如下:
-
例如,一个名为 origin 的文件乱码,用以下命令查看到其字符集为 ISO-8859-1。
file --mime-encoding origin.txt
origin.txt:iso-8859-1 -
使用
iconv
命令将文件的字符集转换为 UTF-8。iconv -f iso-8859-1 -t utf-8 origin.txt > origin_utf-8.txt
-
若转换后得到的文件还存在乱码,那么将文件的字符集视为 GBK,再转换成 UTF-8。
iconv -f gbk -t utf-8 origin.txt > origin_utf-8.txt
MySQL 中定义的字符串长度跟 StarRocks 定义的是一致的吗?
在 StarRocks 中,VARCHAR(n) 中的n代表字节数,而在 MySQL 中,VARCHAR(n) 中的 n 代表字符数。根据 UTF-8,1 个汉字等于 3 个字节。当 StarRocks 和 MySQL 将 n 定义成相同数字时,MySQL 保存的字符数是 StarRocks 的 3 倍。
表的分区字段可以是 FLOAT、DOUBLE、或 DECIMAL 数据类型吗?
不可以,仅支持 DATE, DATETIME 和 INT 数据类型。
如何查看表中的数据占了多大的存储?
执行 SHOW DATA 语句查看数据所占存储空间以及数据量、副本数量和行数。
说明:数据导入非实时更新,在导入后 1 分钟左右可以查看到最新的数据。
如何调整 StarRocks 数据库配额 (quota)?
运行如下代码调整数据库配额:
ALTER DATABASE example_db SET DATA QUOTA 10T;
StarRocks 支持通过 UPSERT 语法实现部分字段更新吗?
StarRocks 2.2 及以上版本可以通过主键 (Primary Key) 模型实现部分字段更新。StarRocks 1.9 及以上版本可以通过主键 (Primary Key) 模型实现全部字段更新。更多信息,参见 StarRocks 2.2 版本的主键模型。