看来我的数据仓库项目明年正在转向Teradata(从sql Server 2005).
我正在寻找有关Teradata最佳实践的资源 – 从其sql方言的限制到成语和约定,以使查询执行得很好 – 特别是如果它们突出显示与sql Server 2005有显着差异的特别提示. The Art of SQL(更专注于Oracle).
我的业务流程目前在T-sql存储过程中,相当大程度上依赖于sql Server 2005功能,如PIVOT,UNPIVOT和Common Table表达式,从4TB数据仓库每月产生约27m行的输出.
解决方法
一个开始的地方在这里:
http://www.teradataforum.com/
这可能有点迟了,但有一些事情我可以警告你关于我学到的Teradata.
尽可能经常使用最新版本.
对于V12,优化器被重新编写,数据库性能更好.
尝试意识到sql Server和Teradata是非常不同的野兽,大多数概念将不会很好地转换.
不要低估主要指数的重要性.
与其他数据库相比,teradata使用的锁是非常原始的.
不要使用TERA模式.您没有任何遗留的代码,ANSI模式远远优于广泛的鼓励.
加入索引是非常有用的工具,但它们不提供所有答案.
并行性,花时间了解FASTLOAD,MULTILOAD和TPUMP的工作原理,并了解如何利用ETL策略来利用它.
如果您尝试运行需要执行的查询,则不要使用任何转换,优化器将不会使用统计信息来生成最佳执行计划.
工作日期将是一个痛苦,只是一个警告.
Teradata非常面向DDL,尝试在创建表时了解所有与语法相关的语法.
压缩是一个奇妙的工具,如果你有任何值在表中重复使用它.
Teradata没有太多的工具可供建设.存在的工具非常昂贵.
不幸的是,我不太了解sql Server,所以我不能说Teradata中出现什么工具.
希望这可以帮助