2009年1月1日に次の売上テーブルを作成したとします。
CREATE SET TABLE sales, NO FALLBACK ( storeID INTEGER, amount DECIMAL(10,2), sale_date DATE FORMAT 'YYYY/MM/DD') PRIMARY INDEX (storeID) PARTITION BY CASE_N(sale_date>=CURRENT_DATE/*latest quarter data*/, sale_date<CURRENT_DATE AND sale_date>=CURRENT_DATE-INTERVAL '3' MONTH, NO CASE);
次に、2009年1月1日にPPIスパース結合インデックスj_salesを定義し、現行四半期のデータのみを含めるようにします。
CREATE JOIN INDEX j_sales AS SELECT * FROM sales WHERE sale_date > CURRENT_DATE - INTERVAL '3' DAY PRIMARY INDEX (store_ID) PARTITION BY CASE_N(sale_date >= CURRENT_DATE, NO CASE);
解決されたCURRENT_DATEが2009年1月1日であると仮定した場合、結合インデックスj_salesには次の行が含まれます。
j_sales | |||
---|---|---|---|
store_ID | amount | sale_date | PARTITION |
1 | 2000.00 | 2009-01-01 | 1 |
1 | 3500.00 | 2009-01-15 | 1 |
1 | 2000.00 | 2008-12-15 | 2 |
1 | 5000.00 | 2009-04-01 | 1 |
2009年4月1日に、j_salesに対して次のALTER TABLE TO CURRENTリクエストを実行します。
ALTER TABLE j_sales TO CURRENT;
結合インデックスj_salesの行は次のように調整されます。
j_sales | |||
---|---|---|---|
store_ID | amount | sale_date | PARTITION |
1 | 2000.00 | 2009-01-01 | 2 |
1 | 3500.00 | 2009-01-15 | 2 |
1 | 2000.00 | 2008-12-15 | 2 |
1 | 5000.00 | 2009-04-01 | 1 |