DolphinDB中表的模式如下。
partitionColumnIndex->-1
chunkPath->
colDefs->
name typeString typeInt comment
--------- ---------- ------- -------
timestamp SECOND 10
sym STRING 18
qty INT 4
price DOUBLE 16
我想将列sym的数据类型从STRING转换为SYMBOL,因为手册中提到数据类型SYMBOL可以提高查询性能。
我试过下面的脚本。
update t set sym=symbol(sym)
但表的模式并没有改变。
sqlupdate可以更新列的内容,但不能更改数据类型。如果您想更改类型和内容,请使用函数replaceColumn!,自版本0.99 起提供
请记住,长度小于或等于10的char
和varchar
类型将在DolphinDB中转换为SYMBOL
类型。这就是SYMBOL
提高查询性能的原因,因为它占用的开销更少。长度大于10的字符串类型将在DolphinDB中转换为STRING
类型。因此,这两种数据类型是两个独立的实体,不能在彼此之间转换或重新定义它们的范围,因为DolphinDB默认情况下会根据其长度呈现每种数据类型。