tdheatma関数を使用してビューを構築することで、定期的にクエリーを実行し、AMPレベルのデータ温度変化のスナップショットを時系列で取得します。これによりデータ アクセス パターンのトレンドを確認できます。
以下のビューの定義には、ヒートマップ テーブル関数によって返されるすべての列が、日付、時刻、データベース名、テーブル名、シリンダIDフィールドが追加された形で含まれています。target database nameを指定されたビュー データベースの名前と置き換え、amp_numberを関数が実行する必要があるAMP数と置き換えます。
REPLACE view target database name.tdheatmap_v as SELECT date TheDate , time TheTime , t1.ampnumber , dbase.databasenamei DatabaseName , tvm.tvmnamei TableName , t1.starttableid , t1.starttableiduniq , t1.starttableidtypeandindex , t1.startpartition , t1.startrowid , t1.endtableid , t1.endtableiduniq , t1.endtableidtypeandindex , t1.endpartition , t1.endrowhash , to_byte(t1.cylinderidmsw) || to_byte(t1.cylinderidlsw) CylinderId , t1.cylinderidmsw , t1.cylinderidlsw , t1.temperature , t1.normalizedtempinfo , t1.requestedtempinfo , t1.veryhotcandidate , t1.veryhotcache , t1.tempwarmceiling , t1.tempwarmfloor , t1.tempveryhotfloor , t1.percentfull , t1.temppercentile , t1.grade , t1.mediatype , t1.storageclass from table (syslib.tdheatmap (amp_number)) as t1 ( AmpNumber, StartTableId, StartTableIdUniq, StartTableIdTypeAndIndex, StartPartition, StartRowId, EndTableId, EndTableIdUniq, EndTableIdTypeAndIndex, EndPartition, EndRowHash, CylinderIdMsw, CylinderIdLsw, Temperature, NormalizedTempInfo, RequestedTempInfo, VeryHotCandidate, VeryHotCache, TempWarmCeiling, TempWarmFloor, TempVeryHotFloor, PercentFull, TempPercentile, Grade, MediaType, StorageClass), dbc.tvm tvm, dbc.dbase dbase where t1.starttableiduniq = tvm.tvmid and tvm.databaseid = dbase.databaseid ; GRANT SELECT on dbc.tvm to target database name with GRANT option; GRANT SELECT on dbc.dbase to target database name with GRANT option; GRANT EXECUTE function on syslib.tdheatmap to target database name with GRANT option;
ビューの使用は、時系列でのデータ温度のトレンド追跡に便利です。ビューを使用してヒートマップ履歴テーブルを作成できます。
/* CREATE the history table with the first set of heatmap */ CREATE TABLE target database name.heatmap_history AS (SELECT * FROM target database name.tdheatmap_v) WITH DATA PRIMARY INDEX (TheDate, TheTime) /* Load the subsequent heatmap data */ INSERT INTO target database name.heatmap_history SELECT * from target database name.tdheatmap_v;