整型日期做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 );
CASE 1:
select count(*)
FROM tmp_tmp1
where T1.Date_Id >= 20090401
Explanation:
........
2) Next, we do an all-AMPs SUM step to aggregate from 10831
partitions of tmp_tmp1with a condition
of ("tmp_tmp1.Date_Id >= 20090401").
...............
CASE 2:
select count(*)
FROM tmp_tmp1
where T1.Date_Id >= cast(CAST(ADD_MONTHS(DATE-1,-1) AS DATE FORMAT 'YYYYMM')||'01' as integer)
Explanation:
.......
2) Next, we do an all-AMPs SUM step to aggregate from all partitions
of tmp_tmp1with a condition of (
"tmp_tmp1.Date_Id >= ((ADD_MONTHS(((DATE )- 1 ),-1 )(VARCHAR(6), CHARACTER SET UNICODE,
NOT CASESPECIFIC, FORMAT 'YYYYMM'))||'01'(INTEGER, FORMAT '-(10)9'))").
..........
實驗得出,where條件中有任何的資料處理,將不會走group partitions,據說這是teradata老版本的bug,似乎老外用的已經沒有這個問題了,為什麼給我們用舊的呢?鄙視老外一下!
不知道當初為什麼要把date_id設計成integer而非date。定義成整型,定義範圍內的很多partition牙根不會用到,比如尾數大於30的任何數。上述CASE 1中,實際用到的partition也就40個,但執行計劃中為10831個,型別定義為罪魁禍首。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16723161/viewspace-1022020/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sql shard/partitionSQL
- c語言字元常量當做整型C語言字元
- sql pivot、unpivot和partition by用法SQL
- sql server日期格式 sqlserver的日期格式SQLServer
- SMP PPI中斷使用
- sql 日期函式SQL函式
- 堅決不走小程式,而是走外掛化
- SQL 獲取SQL Server中兩個日期之間的所有日期SQLServer
- SQL Cookbook—數字、日期SQL
- oracle sql日期比較:OracleSQL
- sql 日期格式轉換SQL
- Sql Server 日期函式SQLServer函式
- SQL Server 日期相關SQLServer
- SQL Server日期計算SQLServer
- sql日期模糊查詢SQL
- sql server日期比較SQLServer
- SQL 獲取SQL Server中日期最近7天之間的所有日期SQLServer
- DROP PARTITION為什麼不進回收站
- 學習人工智慧不走捷徑,走大道的方式人工智慧
- SQL SERVER 日期格式化、日期和字串轉換SQLServer字串
- [置頂] SQL日期型別SQL型別
- SQL Server日期計算 (轉)SQLServer
- partition table and partition indexIndex
- PARTITION partition01
- PARTITION partition02
- PARTITION partition04
- 什麼是整型?Python整型詳細介紹Python
- 浪潮:學IBM不走“聯想”路IBM
- python 畫雷達回波PPI圖Python
- SQL函式之日期函式SQL函式
- SQL server 日期與時間操作SQLServer
- sql server日期時間轉字串SQLServer字串
- SQL 日期格式相關函式SQL函式
- sql日期和週末判斷SQL
- (二)《SQL進階教程》學習記錄--GROUP BY、PARTITION BYSQL
- 走進Linux的世界,需要怎麼做Linux
- iOS開發 - Xcode不走斷點iOSXCode斷點
- Pruning、Reference Partition、Exchange Partition