どのように私はにインデックスを追加することはできませんテーブルに対するクエリをスピードアップすることができますか?
-
21-09-2019 - |
質問
私は、DBリンク経由でリモートから複数のテーブルにアクセスします。それらは非常に正規化し、それぞれのデータが有効で時代遅れであるれます。各テーブル内のレコードの数百万人のうち、〜50Kのサブセットのみが、現在のレコードです。
テーブルは内部的に、私はどのような方法でそのテーブルにインデックスやメイクの変更を追加した場合、巨大なフィットをスローします、商品によって管理されています。
これらのテーブルへのアクセスを高速化する私のオプションは何ですか?
解決
あなたはDBを超えるテーブルのサブセットのマテリアライズド・ビューを作成しようとすることができこれらからリンクし、クエリ。
他のヒント
私はあなたがここにロックやハードの場所の間で立ち往生していると思いますが、以下の過去の私のために働いているでます:
あなたは時間ごとまたは毎晩または何でも動作しますが、指定した間隔で、現在のデータのスナップショットをプルダウンし、必要に応じて、独自のテーブルにあなたのインデックスを追加することができます。あなたはデータのリアルタイムのアクセスを必要とする場合は、必要に応じて一時テーブルとインデックスに現在のすべてのレコードを引っ張って試すことができます。
あなた自身の中にあるデータベースからのコピーの余分なオーバーヘッドが実際の利益を矮星が、その価値はショットがあります。
あなたは計画を見てする必要があります。あなたはそれをより速くするために基準を追加したり、ヒントを提供し、参加の順序を変更することができるかもしれないが、それは遅いですなぜあなたはそれを作ることができれば、あなたも知っていないので、実行計画せずに、あなたは、知っていません速くています。
あなたがあなた自身のデータベース/テーブルに必要なレコードの毎日ダンプを取るだろうか?
アーカイブデータ。 (あるいは、もしそれがあなたの要件に適したいくつかの古さのしきい値を超えた許容、データではありません。)
の作成について/インデックス付きビューをマテリアライズド何?それは少し役立つかもしれない。