1. 整理每个字段的长度,尽量保证长度不浪费。
2. 没有中文字段的字符集不要设置成utf8。
3. 字段长度小余100的设置成char类型。
4. STOREBY 后面的字段尽量设置成UEC>100*partitions (uec字段唯一值的数量)
5. 从hive load数据到trafodion表的时候把CQD HIVE_NUM_ESPS_PER_DATANODE '10';这个CQD打开。
6. 表数据量大于1000万条的需要分区,分区数=节点*8或者10。
7. Load完表后需要更新一下表的统计信息update statistics for table 表名 on every column sample;
8. 需要查询where条件的时候可以创建分区索引如:CREATE INDEX idx_parquet_user_id ON liang_profile_parquet (user_id) SALT LIKE TABLE;
二、常用命令:
1、更新表的统计信息:
update statistics for table LIANG_PROFILE_PARQUET02 on every column sample;
2、查询统计信息:
showstats for table LIANG_PROFILE_PARQUET02 on every key detail;
3、打开查看执行时间
Set statistics on;
4、查看表的UEC
Showstats for table表名 on 字段名;
5、对于SQL 执行很长时间,可以用$MY_SQROOT/export/limited-supporttools/LSO/offender -s active 找到对应<query_id>,
然后使用GETSTATISTIS FOR QID <query_id> DEFAULT;查看执行统计信息
6、如果希望取消正在执行的查询,可以使用CONTROL QUERYCANCEL QID <query_id>;实现