内层对象定义之特殊数据类型
Array
sql
DROP TABLE IF EXISTS test_table_datatype_array;
CREATE TABLE test_table_datatype_array
(
ids array<INT>
)
LOCATION 'test/test_table_datatype_array';
SELECT
names,
names[1]
`array`(names[2],names[3])
names[5],
names[-1],
array_contains(names,'e'),
array_contains(names,'b')
FROM
(
select `array`('a',3,'b','c',4) names
) t;
Map
sql
select
kv,kv["c"],
kv["e"],
array_contains(map_keys(kv),"g"),
array_contains(map_keys(kv),"c")
from
(
select `map`("a","b","c","d","e","f") kv
)
Struct
sql
select
obj,
obj.name
from
(
select named_struct('name','zhangsan','age',30,'id',1001) obj
) t
mysql中的数据是写在磁盘中的
当修改数据时,会写到内存中,操作系统会周期性的写到磁盘,
但 不安全,所以会再写在binlog(顺写 json)文件中,备份一下,再写到datafile(随机写入)中