テーブルを別のマップに再割り当てする前に、ActionsTblの推奨アクションのリストをカスタマイズする場合があります。これは、テーブルが使用するマップを変更するプロセスにActionsTblが入力されるためです。次のいずれかのActionsTblの項目を変更できます。
- テーブルのグループ化
- グループ内のテーブルの順序
- 推奨アクションのリスト
- 推奨アクションを変更します。ActionsTblを更新します。例えば、ユーザーFiskに数行しかないcustomerテーブルがあり、さらに多くの行が追加される場合、AnalyzeSPはこれにスパース テーブルを推奨することがあります。
sel * from tdmaps.actionsv where ActionListName = 'Fiskobject' and databasename='Fisk' and tablename='customer'; *** Query completed. One row found. 21 columns returned. *** Total elapsed time was 1 second. ZoneName ? Action Alter Origin A DatabaseName FISK TableName customer SourceMap TD_Map2 DestinationMap TD1AMPSPARSEMAP_1NODES CoLocateName ? ActionSQLText ALTER TABLE FISK.customer, MAP=TD1AMPSPARSEMAP_1NODES ActionListName Fiskobject GroupOrder 1.00 ActionOrder 14.00 TableSize 1024 FractionOfPermDBFree 9.99999630767549E-001 UDICnt ? QueryCnt ? PKJoinCnt ? LastAlterTimeStamp 2017-02-06 14:55:02.440000-08:00 LastAlterUID 10000000 Issues N ActionsTblDescription Table is very small. One-AMP sparse map is recommended. This Action is from running Analyzer without DBQL analysis.
DBAは、テーブル サイズの増大のペースが早すぎるため、スパース マップを使用できないことを確認しました。次のSQL文によって、テーブルの推奨マップを変更できます。UPDATE tdmaps.ActionsTbl SET ActionSQLText = 'ALTER TABLE FISK.customer, MAP=TD_Map3', DestinationMap = 'TD_Map3', Origin = 'U' WHERE ActionListName = 'fiskobject' AND DatabaseName = 'fisk' AND TableName = 'customer';
次に、ActionsTblの更新が必要になるもう1つの例を示します。UPDATE tdmaps.ActionsTbl SET Action = 'Exclude', ActionsTblDescription = 'Slocum marks this exclude because this table will be dropped tomorrow so why move it?' WHERE DatabaseName = 'Slocum' AND TableName = 'Customer' AND ActionListName = 'MoveTablesToMap2';
UPDATEを使用すると、履歴テーブルの変更の理由がログに記録されるため、DELETEの代わりにUPDATEを使用することを推奨します。 - テーブルのグループを再割り当てする順序を変更するか、テーブルをグループ内で再割り当てする順序を変更します。DBQLステップ ロギングを使用しない場合、テーブルはデータベースごとにグループ化されます。DBQLステップ ロギングを使用する場合、テーブルは結合の頻度によってグループ化されます。既存のグループの間に新しいグループを追加する場合は、GroupOrder列に小数値を使用します。グループ内に新しいアクションを追加する場合は、ActionOrder列に小数値を使用します。次に、実行の優先順位で上から下にリストされたActionsTbl行の例を示します。テーブルに関する次の情報に注意してください。
- 元の値が'A'の行はAnalyzeSPによって生成され、'U'(またはNULL)値の行は後で手動のINSERT文によって追加されています。
- テーブル't6'と't7'の行は、割り当てられたGroupOrder値の1.5が既存のグループ1と2の間になる新しいグループ内のユーザー定義アクションを表わします。
- テーブル't10'~'t20'の行は、既存のグループ2に追加されたユーザー定義のアクションを表わします。ActionOrder値(1.1~1.11)に割り当てられた小数桁数値は、既存のActionOrder値1~2の間で順序付けされます。
Action Origin TableName GroupOrder ActionOrder Alter A t1 1 1 Alter A t2 1 2 Alter A t3 1 3 Alter U t6 1.5 1 Alter U t7 1.5 2 Alter A t4 2 1 Alter U t10 2 1.1 Alter U t11 2 1.2 Alter U t12 2 1.3 Alter U t13 2 1.4 Alter U t14 2 1.5 Alter U t15 2 1.6 Alter U t16 2 1.7 Alter U t17 2 1.8 Alter U t18 2 1.9 Alter U t19 2 1.10 Alter U t20 2 1.11 Alter A t5 2 2