クレーン以上のHeroku DB プランでは、キャッシュは 0 バイトではありません。
これは、これらの計画では、コードに
User.find(10)
たとえば、クエリの結果は保存されますか? したがって、DB クエリのパフォーマンスが向上しますか?
クレーン以上のHeroku DB プランでは、キャッシュは 0 バイトではありません。
これは、これらの計画では、コードに
User.find(10)
たとえば、クエリの結果は保存されますか? したがって、DB クエリのパフォーマンスが向上しますか?
PostgreSQLにはクエリ結果キャッシュがありません。Herokuがカスタムの内部PostgreSQLフォークに1つ追加していない限り(ほとんどありません)、ディスクから読み取られたテーブルとインデックスの内容を格納するためにデータベースで使用できるディスクキャッシュである可能性が高いため、次の場合に再読み取りする必要はありません。再度アクセスしました。これはブロックレベルのキャッシュであり、クエリレベルまたは行レベルのキャッシュではありません。
キャッシュ用のRAMが多いと、特にAmazonEC2のようにI/ Oパフォーマンスが低いセットアップでは、PostgreSQLのパフォーマンスに大きな違いが生じます。
Hibernate ORMやその他のJPA実装などの一部のアプリケーションレベルのツールは、クエリ結果キャッシュ、つまりエンティティキャッシュを維持します。ActiveRecordがこれを行うかどうかはわかりませんが、行う場合は、データベース側ではなく、アプリケーションサーバー側で行われます。