0

現在利用可能な 1 億 4,400 万行の巨大なテーブルがあり、毎日 100 万行ずつ増加しています。

Oracle 11G サーバーでパーティション分割テーブルを作成したいのですが、その手法を知りません。だから私は2つの質問があります:

  1. PK を持たないテーブルからパーティション テーブルを作成することは可能ですか?
  2. 巨大なレコードのようなパーティション分割テーブルを作成するための提案は何ですか?
4

2 に答える 2

1

「テーブルには一意でないインデックスがいくつかあります。しかし、パフォーマンスは本当にひどいです。単純なカウント関数だけで、5分後に結果が返されました。」

パーティショニングは必ずしもパフォーマンス向上剤ではありません。パーティションキーを使用すると、特定のクエリでパーティションプルーニングの恩恵を受けることができます。つまり、WHERE句でパーティションキーを削除するクエリです。WHERE句がパーティションキーの粒度に対して実行される場合、他のクエリのパフォーマンスが低下する可能性があります。

あなたが投稿した詳細は非常に曖昧であるため、具体的なアドバイスを与えることは困難です。ただし、大きなテーブルでのクエリを高速化する他の可能な方法は次のとおりです。

  • インデックス圧縮
  • 並列クエリ
  • より良い、おそらく複合的なインデックス。
于 2013-01-20T13:51:51.050 に答える
1
  1. はい。ただし、パーティション キーは PK の一部である必要があることに注意してください。

  2. グローバル インデックスを避ける

  3. 適切なパーティショニング キーを選択 - 何らかの将来のメンテナンスに備える (最も古いパーティションや不要なパーティションを切り捨て、別のテーブルスペースに配置するなど)。

考慮すべきことが多すぎます。

于 2012-06-29T15:56:22.920 に答える