SQL文の動的生成を避けるには、実行計画のキャッシュを意識しなければなりません。 そこで、RDBMS毎にキャッシュのやり方が違いますからその違いと、「本当はこういう構造にすれば良いのに」という提案について書きます。 目次 目次 各RDBMSの実行計画のキャッシュ MySQL PostgreSQL SQLServer Oracle Oracleはよくできているが逆! Oracleの処理の概要 私が欲しい処理 まとめ 各RDBMSの実行計画のキャッシュ MySQL 実行計画はキャッシュしない。 SQLと結果をキャッシュする。 PostgreSQL 実行計画のキャッシュはセッション単位。プリペアードステートメントにするとキャッシュする。 SQLServer 基本的に実行計画をキャッシュする。 RECOMPILE オプションでキャッシュをキャンセルできる。 Oracle 基本的に実行計画をキャッシ
![実行計画のキャッシュについて2 - 各RDBMSについて - SQLer 生島勘富 のブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/0c8dee3f5a60ddda40e0475297f796b962c45746/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2FS%2FSikushima%2F20190411%2F20190411163217.png)