Teradata spool空间
系统在下列情况下会使用spool空间:• 在session没有结束时,每个用户查询的返回值。因此,为了存储查询的返回值,每个用户都必须有足够的spool空间。• 大表. • Large volatile tables. These tables require more available spool space.对系统需要的spool空间的粗略估计:对于没有fallback,无compression,且工作量适中的系统,spool空间应占系统MAXPERM的30%,或者占系统CURRENTPERM的40%。[@more@]下列情况下需要更多的spool空间:• 高压缩比的数据需要更多的spool空间。-- 压缩可以降低current perm data sto
PPI
1.Partitioned Primary Indexes (PPI) PPI是什么:• Teardata中的用在物理数据库设计中的索引机制.• 数据行在AMP级聚合成分区.• 分区只是在AMP上将数据行排序.PPI可以提供的优势:• 增加可用性以提高某些特定查询的效率(特定的分区限制查询).• 只有查询涉及到的特定分区需要被访问,以避免全表扫描.PPI如何创建和管理:• PPI的创建和修改很简单(只是在CREATE TABLE语句或ALTER TABLE语句中增加ppi申明就可以了).• 数据在AMP上做分布时,总会按照PPI进行.[@more@]2.分区是如何执行的(How is a Partit
自主取数上线,庆祝一下
忙活了好一阵,独立完成的数据仓库自主取数程序全面上线,运行无任何异常,前端数据展现比以前提前一个小时以上,里程碑的日子,值得纪念,留记号先。[@more@]
partition timestamp(0) not use partition
Tearadata前辈的问题,记下来:The definition statement is as follows:CREATE MULTISET TABLE PD_DATA_Z.NET_SETT_TICKET_DAILY ( Calling_Nbr VARCHAR(21) NOT NULL, Start_Time TIMESTAMP(0) NOT NULL, ... )PRIMARY INDEX XIE1NET_SETT_TICKET_DAILY ( Calling_Nbr )PARTITION BY RANGE_N(CAST((Start_Time ) AS DATE FORMAT 'YYYYMMDD') BETWEEN DATE '1990-01-01' AND DATE '2030-12-31' EACH INTERVAL '1' DAY );[@more@]Case 1:explain select *FROM PD_DATA_Z.NET_SETT_TICKET_DAILYWHERE Start_Time
teradata limits
SYSTEM Number of Data bases 4.2 BillionMessage length 1 MBSQL request length 1 MBActive transactions 2,048Data Parcel Length 65,104Parcels in one message 256[@more@]SQL title length 60String constant length 255Data Format Descriptor Length 30Error message text in failure parcel 255Sessions per gateway (Max 1 gateway / Node) 1,200Sessions per PE 120Concurrent Utility jobs 15Vprocs per system 16,384Vprocs per Node 128Data capacity per AMP - Unformatted 1.3 TbyteDATABASE Tables per database 32,000
整型日期做PPI,sql不走partition
CREATE MULTISET TABLE tmp_tmp1,NO FALLBACK ,NO BEFORE JOURNAL,NO AFTER JOURNAL,CHECKSUM = DEFAULT(Date_Id INTEGER TITLE '日期' NOT NULL,...)PRIMARY INDEX XIE1tmp_tmp1 ( ...)PARTITION BY RANGE_N(Date_Id BETWEEN 20070101 AND 20101231 EACH 1 );[@more@]CASE 1:select count(*) FROM tmp_tmp1where T1.Date_Id >= 20090401Explanation:........2) Next, we do an all-AMPs SUM step to aggregate from 10831partitions of tmp_tmp1with a conditionof ("tmp_tmp1.Date_Id >= 20090401"). ...............CA
Teradata Hashing
1:数据分布(Data Distribution) Certain PEs support multiplexor channels and others provide LAN support. 数据一般总是以8-bit ASCII码形式存储在AMP中。如果以EDCDIC形式输入,PE会在哈希化和分布发生前将其转换为ASCII Teradata没有预分配表空间的概念。所有哈希分布的表的行通过哈希值分布到所有的AMP中存储。 (Data)FROM HOST--->(Parsing Engine)CONVERTED AND HASHED--> (BYNET)DISTRIBUTED-->(AMP)FORMATTED-->(Vdisk)STORED [@more@]2:哈希化 哈希化是TeradataRDBMS利用的通过主索引值来分布数据行的机制. It tak
Teradata对象简写对照
'A'-->'AGGREGATE UDF' 'B'-->'COMBINED AGGREGATE AND ORDERED ANALYTICAL FUNCTION' 'E'-->'EXTERNAL STORED PROCEDURE' 'F'-->'SCALAR UDF' 'G'-->'TRIGGER' 'H'-->'INSTANCE OR CONSTRUCTOR METHOD' 'I'-->'JOIN INDEX' 'J'-->'JOURNAL' 'M'-->'MACRO' 'N'-->'HASH INDEX' 'P'-->'STORED PROCEDURE' 'Q'-->'QUEUE TABLE' 'R'-->'TABLE FUNCTION' 'S'-->'ORDERED ANALYTICAL FUNCTION' 'T'-->'TABLE' 'U'-->'USER-DEFIN
Teradata权限简写说明
在Teradata数据库中存储的权限相关数据均为简写,为了方便记忆,这里将其各自的意义整理如下:'AE' --> 'ALTER EXTERNAL PROCEDURE''AF' --> 'ALTER FUNCTION''AP' --> 'ALTER PROCEDURE''AS' --> 'ABORT SESSION''CA' --> 'CREATE AUTHORIZATION''CD' --> 'CREATE DATABASE''CE' --> 'CREATE EXTERNAL PROCEDURE'[@more@]'CF' --> 'CREATE FUNCTION''CG' --> 'CREATE TRIGGER''CM' --> 'CREATE MACRO''CO' --> 'CREATE PROFILE''CP' --> 'CHECKPOINT''CR' --> 'CREATE ROLE''CT' --> 'CREATE
teradata CAST
1)、数值型截位或四舍五入SEL CAST(50500.75 AS INTEGER) AS "Truncated”,CAST(50500.75 AS DECIMAL(6,0)) AS "Rounded";Truncated Rounded----------- ----------50500 50501.[@more@]SEL CAST(6.74 AS DECIMAL(2,1)) AS "Drop Precision”,CAST(6.75 AS DECIMAL(2,1)) AS "Round Up”,CAST(6.85 AS DECIMAL(2,1)) AS "Round Down to Even";Drop Precision Round Up Round Down to Even----------------- ------------ ------------------------6.7
collect statistics
收集统计信息对于Teradata sql执行计划的影响是非常显著的。因此,Teradata数据库DBA都会周期性的收集统计信息。如何确定哪些对象需要收集信息呢?总结起来就一句话:对经常作为关联条件或经常作为取数条件的字段收集信息。理论上,统计信息收集的越详细,sql的执行计划越优化。实际操作中,为了避免数据量过大而影响日常加载,可以采取抽样收集信息的方式。还有一个问题,我怎么知道目前数据库中统计信息的收集情况呢?下面是查看系统当前统计信息情况的sql:[@more@]SELECT DatabaseName, TableName, ColumnName,
Teradata join
1.SELECT Statement ANSI Join Syntax版本V2R2以后,Teradata支持ANSI join语法及外连接: SELECT colname [, colname , …] FROM tabname [aname] [INNER] JOIN LEFT [OUTER] JOIN RIGHT [OUTER] JOIN FULL [OUTER] JOIN CROSS JOIN tabname1 [aname] ON condition ;[@more@]INNER JOIN: 所有匹配的行.LEFT OUTER JOIN: 以左边表为准,右边不能匹配的行填NULL.RIGHT OUTER JOIN: 以右边表为准,左边不能匹配的行填NULL.FULL OUTER JOIN : Both tables are used to qualify and extended with nulls.CROSS JOIN : Product join or Ca
spool空间
spool空间的最大值得依赖于表大小以及其使用频率。Spool空间在创建用户的时候指定,其值可以依据需要变动。没有计算spool的公式,某个session使用的spool空间可以在DBC.DISKSPACE视图中查找。[@more@]下面是查看某用户spool空间的sql:SELECT DATABASENAME (Title 'User') ,sum(MaxSpool) (format '---,---,---,---,--9')(char(19))(title 'max Spool ') ,sum(PeakSpool) (format '---,---,---,---,--9')(char(19))(title 'Peak Spool ') ,sum(Maxtemp) (format '---,---,---,---,--9')(char(19))(title 'ma
Teradata访问权限及实体类型缩写
Teradata中有一些缩写,分别代表特定的访问权限或表类型,整理如下:访问权限:'AE'-->'ALTER EXTERNAL PROCEDURE';'AF'-->'ALTER FUNCTION';'AP'-->'ALTER PROCEDURE';'AS'-->'ABORT SESSION';'CA'-->'CREATE AUTHORIZATION';'CD'-->'CREATE DATABASE';'CE'-->'CREATE EXTERNAL PROCEDURE';'CF'-->'CREATE FUNCTION';'CG'-->'CREATE TRIGGER';'CM'-->'CREATE MACRO';'CO'-->'CREATE PROFILE';[@more@]'CP'-->'CHECKPOINT';'CR'-->'CREATE ROLE';'CT'-->'CREATE TABLE';'CU'-->'CREATE USER
oleload导excel数据
看见同事为了导excel数据到数据库中,都是写个fastload脚本或者tpump脚本,这样在整数据格式的时候是很费时费力的操作,殊不知,teradata提供的oleload工具可以直接导excel数据到teradata库当中,操作简单:[@more@]1、select souce选项卡里面选择:Microsoft.Jet.OLEDB.4.0,会弹出对话框:a、“连接”选项卡:“选择或数据数据库名称”里面选择将要导入的数据源excel;用户名/密码可以不管;b、“高级”选项卡保持默认;c、“所有”选项卡:Extended Properties填上:Excel 8.0;IMEX=12.目标库当然选Teradata;后面的操作不用说了,sett
Teradata 时间函数
时间差异(月):select (date '2003-08-15' - date '2003-01-01') month;时间差异(天):select date '2003-08-15' - date '2003-01-01';[@more@]时间差异(秒):select ((time02 / 10000) * 3600 + (time02 / 100 MOD 100) * 60 + (time02 MOD 100)) - ((time01 / 10000) * 3600 + (time01 / 100 MOD 100) * 60 + (time01 MOD 100)) as time_diff月份操作:select add_months(current_date, 3); ADD_MONTHS(Date, -2) add_months(date '2002-01-31', 1);本月第一天:select date - extract(day from date) + 1上月最后
Teradata Dates and times
Dates, times, and timestamps in Teradata (V2R4.1) can be a little tricky. This document explains how to do various things that you may want to do.[@more@]Dates, times, and timestamps in Teradata (V2R4.1) can be a little tricky. This document explains how to do various things that you may want to do.Preliminaries The examples below use Teradata syntax, so they assume that you are running in BTEQ. If you are using Queryman, be sure to uncheck the option box "Allow use of ODBC SQL Extensions i
Teradata参照B表修改A表
依照B表改A表:UPDATE tableA FROM tableBSET tableA.** = tableB.** WHERE tableB.** = tableA.**;[@more@]
ARC
1.Archive and Recovery Utility (ARC) Teradata ARC可做如下事项:• 备份数据库,表,或者分区表选定的分区. • 恢复数据库,表,或者分区表指定的分区. • 拷贝已备份数据库,表,或者分区表选定的分区到不同硬件平台的Teratdata数据库上. [@more@]• 在永久日志表上设置checkpoint入口. • 利用回滚或前滚技术将数据库恢复到任意的checkpoint(using change images from a journal table). • Delete change image rows from a journal table. Archive – captures user data on portable storage med
fastload(2)
FASTLOAD的特性:1)FASTLOAD脚本包含三个主要模块:建表模块、Define模块、Insert模块。[@more@]2)FASTLOAD分为两个阶段:第1阶段 - 从数据文本中读取记录,只需放到目标AMP上即可第2阶段 - 在AMP内部按Rowhash进行排序3)FASTLOAD的目标表初始的时候只能是个空表。4)FASTLOAD的目标表不能定义次索引,但可以定义分区字段。5)FASTLOAD一次只能对一张表进行加载,不支持对多张表进行加载。6)FASTLOAD支持多个数据文件一次性加入一张表中,但这些数据文件是串行加载并非并行加载。7)FASTLOAD在加载的时候会自动剔除文本中的重复记录