現在利用可能な 1 億 4,400 万行の巨大なテーブルがあり、毎日 100 万行ずつ増加しています。
Oracle 11G サーバーでパーティション分割テーブルを作成したいのですが、その手法を知りません。だから私は2つの質問があります:
- PK を持たないテーブルからパーティション テーブルを作成することは可能ですか?
- 巨大なレコードのようなパーティション分割テーブルを作成するための提案は何ですか?
現在利用可能な 1 億 4,400 万行の巨大なテーブルがあり、毎日 100 万行ずつ増加しています。
Oracle 11G サーバーでパーティション分割テーブルを作成したいのですが、その手法を知りません。だから私は2つの質問があります:
「テーブルには一意でないインデックスがいくつかあります。しかし、パフォーマンスは本当にひどいです。単純なカウント関数だけで、5分後に結果が返されました。」
パーティショニングは必ずしもパフォーマンス向上剤ではありません。パーティションキーを使用すると、特定のクエリでパーティションプルーニングの恩恵を受けることができます。つまり、WHERE句でパーティションキーを削除するクエリです。WHERE句がパーティションキーの粒度に対して実行される場合、他のクエリのパフォーマンスが低下する可能性があります。
あなたが投稿した詳細は非常に曖昧であるため、具体的なアドバイスを与えることは困難です。ただし、大きなテーブルでのクエリを高速化する他の可能な方法は次のとおりです。
はい。ただし、パーティション キーは PK の一部である必要があることに注意してください。
グローバル インデックスを避ける
適切なパーティショニング キーを選択 - 何らかの将来のメンテナンスに備える (最も古いパーティションや不要なパーティションを切り捨て、別のテーブルスペースに配置するなど)。
考慮すべきことが多すぎます。