これは簡単な質問です。大規模なテーブル (500 万行) があり、テーブル全体をスキャンする以外に選択肢がないとします。
SELECT * FROM Table1
データベースが結果をより速く返すようにする方法はありますか?
バックグラウンド:
堅牢で柔軟になるように設計されたサードパーティから提供されたアプリケーションがあります。そのデータベースには非常に少数の大きなテーブルがあります。たとえば、テーブルの 1 つは、すべてのオブジェクトを格納する「オブジェクト」テーブルです。もう 1 つのテーブルは、オブジェクト間のすべての関係を取得する「関係」テーブルです。基本的に、スキーマを変更せずに何でも保存できます。
私の仕事は、別のレポート アプリケーション (このデータベースにクエリを実行するアプリケーション) を設計することです。ライブデータである必要があります。また、テーブルのサイズとクエリの複雑さのために、パフォーマンスの問題があります。
パフォーマンスの問題をどのように処理すればよいのか疑問に思っていました。インデックスの後にインデックスを作成しましたが、クエリは依然として非常に複雑であり、1 日の終わりには、複数のフル テーブル スキャンを行う必要があります。
良いニュースは、私はまだ設計段階にあるということです。何かを見逃した場合に備えて、できるだけ多くの提案を聞きたいと思っています。