私たちの状況は少し変わっていると思います...
複数のアプリケーションから非常に頻繁に呼び出されるストアド プロシージャがありました。複数の大きなテーブルを結合するという重い手順だったので、結果のキャッシュを作成することにしました。したがって、プロシージャは最初にキャッシュされた結果があるかどうかをチェックします。ある場合はそれを返し、ない場合はそれを計算し (大きな SELECT、多くの JOIN)、さらに使用するためにキャッシュ テーブルに入れます。キャッシュ行は、ソース テーブルのトリガーで「リフレッシュ対象」としてマークされます (そのため、ソース データが変更されると、このデータに関連付けられたキャッシュが無効になります)。
キャッシュが導入された後、サーバー マシンの CPU 使用率は目に見えて低下しましたが、データベースは急速に拡大しました。キャッシュ テーブルは非常に大きく、データベース スペースの 1/3 を占めます。それらを別のデータベースに入れるという考えがあります(ほとんどの場合、バックアップを避けるためです)。しかし、パフォーマンスが心配です。他のデータベースのデータを使用すると、クエリの速度が大幅に低下しませんか?