MySQLは、より高速な結果を返すために、最近使用されたテーブル、クエリ、および結果のキャッシュをメモリに保持します。たとえば、クライアントから「select * from company where id =1」を100万回クエリすると、最初のクエリだけがディスクに送信され、次の999,999はRAMキャッシュから直接取得されます。 MySQLがより多くのメモリを必要とすることがわかるまで、このキャッシュを期限切れにする理由はありません。そのため、他の作業やより頻繁に使用される結果のためにRAMを解放する必要があるまで、保存されたままになります。
私は専門家であるとは主張していません。DBクエリキャッシュの最適化は非常に複雑で深い科学であると理解しています。 Oracle、Microsoftなどのプログラマーは、キャッシュスペースを管理するための最良の方法を何年にもわたって考案してきたため、外部から予測することは困難です。