有効性は常に重要であり、次に効率性です。私の意見を述べる前に、あなたの質問はすでにユーザーの観点からの効果的な解決策に基づいていると思います。
まず、データ検索はコンピュータシステムのストレージに関するものです。データを最速のストレージ (メイン メモリなど) に完全に格納できる場合は、そこにデータを保持する方が他の戦略よりも優れています。しかし、パフォーマンスの問題は主に十分なメイン メモリがないことが原因であるため、データをセカンダリ ストレージ (遅いストレージ) から取得し、メイン メモリ内の他のデータを置き換えて、必要なものを生成する必要があります。そのため、マルチレベルのストレージ システムに対処する必要があります。
第二に、(ほとんどのコンピュータ システムのように) マルチレベル ストレージ システムを扱っている場合、効率的な方法は、セカンダリ ストレージへのアクセスがどれだけ削減されるかに依存します。低速のストレージから高速のストレージにデータをロードする利点だけではありませんが、データが追い出されるという犠牲もあります。
XML では、DOM と SAX がマルチレベル ストレージ システムを扱う 2 つの極みです。データベース システムでは、完全にキャッシュされたインデックスがパフォーマンスの優れたソリューションです (インデックスが十分に小さい場合)。オペレーティング システムでは、ファイル キャッシュは常にコンピューター サイエンスで最も困難な問題の 1 つです。
必要になる前に、一部のデータを事前に計算できます。より効率的なデータ構造を使用して、データの取得を改善できます。アプリケーションにより多くのメイン メモリを無作法に割り当てることができます。メモリ モジュールや SSD を追加購入することもできます。どのようなソリューションを選択するにしても、それは間違いなくコンピューター サイエンスにおける融合の芸術です。
アルゴリズム、データ構造、データベース システム、オペレーティング システム、さらにはコンパイラの理論まで、これらの超硬合金は、ドラゴンの尻を蹴る剣を構築するのに役立ちます。