0

こんにちは私はdb2ですべての空のテーブルを探す方法を考えていました。各スキーマのすべてのテーブルを一覧表示して(つまり、「スキーマのテーブルを一覧表示」)、count(*)クエリを実行して、どのテーブルが0になるかを確認することを考えていましたが、これは面倒で汚いようです。テーブル名を解析してそれぞれをループし、カウントSQLを実行するシェルスクリプトを記述します。

もっと速い方法はありますか?

4

1 に答える 1

0

別のオプションの 1 つは、データ ディクショナリまたはメタデータ テーブルを調べることです。適切な統計が正しく収集されている場合、この情報が含まれます。Oracle では、これは user/all/dba_tables データ ディクショナリ ビューになります。

D2 の SYSCAT.TABLES カタログ ビューも同様の目的を果たしているように見えますが、列の値が -1、-2 の場合もあり、その場合は値が異なります。このリンクを確認してください。

SYSCAT.TABLES カタログ ビュー: DB2

ほとんどの場合、統計の収集は 100% の精度を保証しないため、count(*) はさらに正確である可能性があります。

于 2012-07-05T22:12:35.237 に答える