想与不想
早两天,晚上睡不着觉,脑袋里不断蹦出各类想法,于是我试图让自己不想,各种办法都试了(数星星,数羊...),全无效。这让我我想起了一个故事,我索性拼命想,想着想着我就睡着了...[@more@]有一个流传已久的故事:在古老的喜马拉雅王国里,有一个刚出家的僧侣,正为第一次见到他的上师感到兴奋又期待。他有满脑子的问题想问,却又觉得现在不是个一好时机,因此他忍下来,并且仔细聆听上师对他的教导。上师的话很简要:「明天一早起床,爬到这座山的山顶,你会发现一个洞穴。我要你在那里从早上坐到黄昏,什么都不要想,尽你所能赶走自己
Teradata新特性之reset when使用
一同事问如何用SQL获取各区域用户数连续增长的天数。想到Teradata新特性中的reset when正好可以实现此功能。下面是我的测试案例,分享给大家:[@more@] Step 1: CREATE the FOLLOWING TABLE: CREATE TABLE Test.Reset_when_Monthly_Sales ( SalesMonth INTEGER , Sales INTEGER ) UNIQUE PRIMARY INDEX (SalesMonth) ; -- Completed. 0 rows processed. Step 2: Populate the TABLE AS follows: INSERT INTO Test.Reset_when_Monthly_Sales VALUES (1, 4500) ; INSERT INTO Test.Reset_when_Monthly_Sales VALUES
Teradata TPT处理Unicode方法
使用TPT做数据同步时报错:TPT12108: Output Schema does not match data from SELECT statement。测试发现,同步不包含Unicode字符集的表时,没有任何问题,同步包含Unicode字符集的表示,提示上述错误。那么,该问题怎么解决呢?[@more@] 上述错误的原因可以解释为:There is a schema mismatch between the schema defined in TPT script and the schema returned from the select request sent to DBS. 要避免此问题其实比较简单,你只需要设置与session字符集相匹配的字段长度即可: 如果你在TPT脚本中将session的字符集设置为U
获取Teradata表访问频率信息
在日常维护及系统优化过程中,我们有时需要分析哪些数据库对象是使用频率较高的,哪些对象是长期不用的,从而有依据的制定优化策略。对访问频率高的,尽量做到物理模型最优(如PI是最经常用来关联的,数据分布是均匀的等)。而那些长期不用的对象(表/视图),可以考虑删除。使用频率高的字段和使用频率低的字段进行表拆分...那么如何获取Teardata表/视图/字段的访问频率信息呢?下面做详细说明:[@more@] 按照下列步骤打开/关闭开关:1、 用secureCRT类的工具连接到数据库节点机;2、 输入cnsterm 6 打开窗口6;3、 输入 start db
用trim去掉字符串末尾的任意字符
一朋友问到,如何去掉字符串末尾的指定字符。当然,方法很多,最易想到的是用UDF,将指定字符替换为空串。其实,不用这么麻烦,teradata提供的trim函数就可以很简单的实现这一功能:[@more@]SELECT 'aabcdedcbaa' AS a,TRIM(BOTH 'a' FROM a) --去掉前后的a字符,TRIM(LEADING 'a' FROM a) --去掉开头的a字符,TRIM(TRAILING 'a' FROM a) --去掉结尾的a字符;
Teradata时间操作
最近,很多朋友问到Teradata时间的处理,并且差不多是一个问题--时间差操作。大家都在做什么呢?下面用一个SQL来说明此类问题,供参考:SEL CURRENT_TIMESTAMP ,CURRENT_TIMESTAMP + INTERVAL '1' YEAR,CURRENT_TIMESTAMP - INTERVAL '1' MONTH,CURRENT_TIMESTAMP - INTERVAL '1' DAY,CURRENT_TIMESTAMP - INTERVAL '1' HOUR,CURRENT_TIMESTAMP - INTERVAL '1' MINUTE;下面为时间相关的其它操作:http://miguelmin.itpub.net/post/38274/476094[@more@]
Teradata 之top n与sample n
Teradata取n条样本数据的方法有两种:select top x * from table;select * from table sample n;那么二者有什么区别呢?说明如下:TOP N 如果有Order By关键字首先要对数据库的数据进行排序,然后获取N条数据或者抽样比率为N;如果没有Order By关键字,要做一次STAT FUNCTION的全AMP收集,然后选择某一个或者几个AMP 来抽取数据。Sample N 首先要对数据库的数据进行全表扫描,然后获取N数据;采用的是Sampling的形式。[@more@]性能比较:当数据量比较小的时候,TOP N的速度要比Sample的速度快;当数据量比较大的时候,Sample N的速度要比
谁将是甲骨文的下一个收购目标(转)
导语:国外媒体今天发表文章,援引咨询公司Software Advice的一项调查对甲骨文的下一步收购计划进行了分析。Teradata竟然排名第二。以下是文章全文:[@more@]现在距离甲骨文公司的上一次收购(四月中旬收购Phase Forward)已经过去好几个月了,经验告诉我们宣布重大收购的决定是迟早的事情。对CEO拉里·埃里森来(Larry Ellison)说,9月中旬举行的甲骨文全球技术与应用大会(Oracle Open World)将是宣布其最新收购交易的理想场合。Software Advice的调查结果咨询公司Software Advice的分析师史蒂芬·詹尼斯(Stephen Jannise)对此做了一项调查,
震撼了,清醒了,该计划了,该执行了,耗不起了
最近忙碌,也感觉需要学习的东西空前多。可回到家,打完电话,捧起书,每每读完几页,就放下了,然后就是到网上瞎逛,直至休息。今天看了一网友的帖子,突然醒悟,原来浪费时间就这么回事!突然想起刚跨出校门,做新人职场培训时,培训师让我们玩的一个撕纸体验时间的游戏,当时那个感慨啊,没法说!感慨完了,也曾有过危机意识,将时间数着用了几天就忘到脑后了。今天又完了一次,受到的震撼比之当年更强,只差没吓到了:[@more@]人的一生按能活到80岁来算。将这张白纸四等分,撕掉20岁以前的成长时间,撕掉60岁以后的养老时间,我们能够
Teradata Multi PPI (多级分区表)
Some one ask me these Questions:I have created MLPPI on two columns in a big table. First columns is a date column and second is area_code having 20 distinct values (1,2,3..)I want to know that -Do I need to use both MLPPI columns in my query in order to make use of PPI or partition will be used even if the first DATE column is used in the filter condition?How can I find out from explain plan how many partitions are being used. When I am using DATE only as a filter condition, explain plan shows
Teradata基础教程
百度文档把这个基础文档买10个财富值,看不下去了,放这,需要的下去吧,呵呵。Teradata基础教程.pdf[@more@]
Teradata自定义函数Replace
Teradata没有函数replace,为了方便使用,定义了一个。其实也挺简单的,描述如下:一、用c编写一个replace函数,挺简单,也可以在网上找到源码,编译通过,能达到目的即可。二、运行一个bteq,将自定义函数载入。详细描述如下:[@more@]a、编写teradata创建自定义函数ddl:REPLACE FUNCTION TEST.treplace ( input_string VARCHAR(16000) CHARACTER SET LATIN, search_string VARCHAR(512) CHARACTER SET LATIN, replace_string VARCHAR(512) CHARACTER SET LATIN)RETURNS VARCHAR(16000) CHARACTER SET LATINSPECIFIC replace2LANGUAG
Just a test
database TEST;-- generate test datacreate table char_testas(select calendar_date - current_date as upi_id, trim(trailing from substring('I have a query which Hot amp Cpu/Impact on CPu is 19.6 what does it mean?It means the hot amp is doing 19.6 times as much work as the average amp. This is very skewed, but may be acceptable for a very small query (for example, less than 5 CPU seconds). You always have to consider CPU skewing in relation to the size of the query. Th
Teradata中的四舍五入问题
在Teradata做数据舍入时,发现一些问题,如下例:select cast('1234.505' as decimal(18,2))--1234.50 select cast('1234.515' as decimal(18,2))--1234.52到底时怎么造成大的呢?[@more@]查资料得知:Teradata中四舍五入的规则由DBSCONTROL下的参数 RoundHalfwayMagUp 决定,默认情况下RoundHalfwayMagUp = FALSE,意为按照Teradata的规则进行进位。当RoundHalfwayMagUp设为TRUE时,和正常的进位没有区别。Teradata的进位规则考虑的是:5是个中间值,进位或不进位都欠妥。因此他采取一种折中处理方法:1、当5后面有1位不为0时,则进位;2
Teradata PI
可以说PI的合理运用是Teradata性能及各种优点的保障,那么到底怎么选择PI呢?资料上说的无非两种考虑,一是保证数据分布均匀,二是选择经常作为访问条件。但是日常工作中,我们经常会发现,现实可能并不是那么美好,经常会出现上述两中考虑相冲突的情况,也就是说能保障均匀分布的不是我们访问会用到的字段,常作为访问条件的字段不能保证数据均匀的分布。那怎么办呢?我现在的做法是,对于大表,优先考虑分布,小表优先考虑访问。有更好的方法么?下面是资料对于PI的介绍:[@more@]Module 4:PI1.Keys vs Indexes• 键: 标示表和系统
oleload from excel 2007
在http://miguelmin.itpub.net/post/38274/476403中我提到,老版本oleload不支持对excel2007数据的导入。在Teradata 12中,已经提供了对office 2007的支持,与前述方法相比,所要改变的仅仅是:[@more@]1、ole db provider选择12版本;2、将 Extended Properties的值设置为:“Excel 12.0;IMEX=1"
Teradata自增量
定义两个表如下:create table TEST.i1 ( i INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1INCREMENT BY 1NO MAXVALUENO CYCLE),STR VARCHAR(20)) unique primary index i1 (i);[@more@]create table TEST.i2 ( i INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 1INCREMENT BY 1NO MAXVALUENO CYCLE),STR VARCHAR(20)) unique primary index i2 (i)往表i2里面插入五条数据(执行5次下列语句):INSERT INTO TEST.i2(STR)VALUES('1')将i2的数据导入到i1:INSERT INTO TEST.i1SELECT * FROM TEST.i2再往i1里面插入数据:INS
用回Td,挺好
转了个弯,重新用回Teradata了,感觉挺好。接下来希望在工作的过程中用好td,也希望自己可以更多的学习技术以外的东西,同大家分享。[@more@]
中国历史文化中的人本管理智慧
成君忆,被标注为新古典主义管理思想倡导者,不言而喻,上成老师的课就是一次对历史的重新解读,这个解读同时关乎人文、管理和哲学的命题。[@more@]首先说到人文。渔夫和园丁有着截然不同的人文理念。与渔夫发生关系的是鱼,渔夫利用鱼钩和鱼饵,钓到了大大小小的鱼,之如公司用薪金、职位招聘到员工一样。渔夫强调交易成本,渔夫和鱼之间有着绝然的输与赢,当鱼上钩后,鱼往往已成死鱼。也之如渔夫一样的管理,被钓的员工,通常失去了活力,失去了创造性和成长性,或者变成另外一个渔夫。渔夫文化象征着占有和掠夺,没有财富创造,只有财
初识DB2
用DB2两个多星期,初步感觉很多方面不如teradata。准备有时间的时候将其做个较全面的对比...[@more@]