更新时间:2026-06-11 GMT+08:00
如何查看DWS表是行存还是列存?
表的存储方式由建表语句CREATE TABLE中的ORIENTATION参数控制,row表示行存,column表示列存。不指定ORIENTATION参数时,默认为row(行存)。
可通过表定义函数pg_get_tabledef()查看已创建的表是行存还是列存。
示例:查询表customer_t1的定义。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | SELECT * FROM PG_GET_TABLEDEF('customer_t1'); pg_get_tabledef ------------------------------------------------------------------------------------------------------------ SET search_path = public; + CREATE TABLE customer_t1 ( + c_customer_sk integer, + c_customer_id character(5), + c_first_name character(6), + c_last_name character(8) + ) + WITH (orientation=column, compression=middle, colversion=2.0, enable_hstore_opt=false, enable_delta=false)+ DISTRIBUTE BY HASH(c_last_name) + TO GROUP group_version1; (1 row) |
返回结果中的orientation=column,表示customer_t1为列存表。
DWS不支持通过ALTER TABLE语句修改ORIENTATION参数,即行存表和列存表无法直接进行转换。
父主题: 数据库使用