youkenn82 发表于 2009-07-03 11:29

问些问题

我用的teradata数据库

1在建表时的语句中的问题
CREATE MULTISET TABLE ptemp.tyckrj11 ,NO FALLBACK ,
   NO BEFORE JOURNAL,
   NO AFTER JOURNAL,
   CHECKSUM = DEFAULT         // 什么意思
   (
      .......
      Bal_Type_Cd CHAR(3) CHARACTER SET LATIN CASESPECIFIC TITLE '余额类型代码' NOT NULL COMPRESS ('01 ','010','011','02 ','11 ','12 ','13 ','14 ','15 ','16 ','17 ','18 ','19 ','20 ','21 ','22 ','23 ','24 ','25 ','26 ','27 ','28 ','29 ','30 ','31 ','32 ')   //set latin什么意思,compress什么意思
      ,.......
)
PRIMARY INDEX XIE1T03_AGMT_BAL_H ( Agmt_Num )
PARTITION BY RANGE_N(End_DtBETWEEN DATE '2004-12-01' AND DATE '2010-12-31' EACH INTERVAL '1' DAY ,
DATE '3000-12-31' AND DATE '3000-12-31' EACH INTERVAL '1' DAY );//partition by在这里什么意思,EACH INTERVAL '1' DAY什么意思。

2为什么日期在查询的时候可以这样写
如 where dt='20080601'可以写成 where dt=1080601

gxglhyy 发表于 2009-07-05 20:50

set latin:指定文本存储的时候用什么类型的编码。PS,不知道为什么,无论是用latin还是unicode,都可以存汉字。
compress:在存储的时候,对这些值进行压缩。如果某些值在这个字段的数据中频繁出现,使用compress可以明显降低磁盘的使用量
partition by:对数据进行分区存储。在这个例子里面,如果在查询的时候有制定日期,就会只扫描当天的记录
关于日期:Teradata内部对日期是存成一个数字的,计算方法:(年-1900)*1000+月*100+日

PS:这些都是很基础的,看看文档里面就有

[ 本帖最后由 gxglhyy 于 2009-7-5 21:05 编辑 ]
页: [1]
查看完整版本: 问些问题