DBC.TableSizeVビューは、テーブル レベルでのディスク領域使用量に関するAMP情報を提供します。リクエスト ユーザーが所有しているかSELECT権限を持っているテーブルだけの情報の場合は、オプションでviewnameVXを使用します。
取得する情報 | 使用する問合せ |
---|---|
テーブルの分散 | SELECT tablename (TITLE 'Table') ,currentperm (TITLE 'CurPerm') ,vproc (TITLE 'Amp') FROM DBC.tablesizeV WHERE databasename='xxx' AND tablename = 'xxxx' ORDER BY 2 DESC; |
特定のテーブルのディスク領域 | SELECT SUM(currentperm) FROM DBC.tablesizeV WHERE databasename='xxx' AND tablename = 'xxxx'; |
DBC.TableSizeVに対してSELECT文を実行依頼してから、処理に時間がかかることに気付いた場合は、次の問合わせを実行依頼してビュー定義を置換します。
REPLACE VIEW DBC.TableSizeV AS SELECT DataBaseSpace.Vproc, Dbase.DatabaseName (NAMED DatabaseName), Dbase.AccountName, TVM.TVMName (NAMED TableName), DataBaseSpace.CurrentPermSpace(NAMED CurrentPerm, FORMAT '---,---,---,---,--9'), DataBaseSpace.PeakPermSpace(NAMED PeakPerm, FORMAT '---,---,---,---,--9') FROM DBC.Dbase, DBC.DataBaseSpace, DBC.TVM WHERE DataBaseSpace.TableID <> '000000000000'XB AND DataBaseSpace.TableID = TVM.tvmid AND TVM.DatabaseId = Dbase.DatabaseId WITH CHECK OPTION;
この改良後の定義により、最適化ルーチンは、SELECTリクエストを処理するのに適したほうのプランを選択できるようになります。(詳細については、Knowledge Article SD1000B999Eを参照してください)。
データベース内の個別のテーブルを参照して、スキューされているものがないかを確認できます。