EXPLAIN (ANALYZE)の弱点を克服 PostgreSQLではEXPLAINコマンドで実行計画を取得できます。特に、ANALYZE オプションを追加すると、実際にクエリを発行して実行計画と実行処理時間の両方を取得できます。 ただし、このANALYZEオプションにも欠点があります。 PostgreSQLでは2kBを超える *1データをテーブルに格納する際には、TOAST(The Oversized-Attribute Storage Technique)化され、特殊領域にデータ配置されます。 クエリ実行時にシリアライズを伴うようなケースにおいて、シリアライズ処理も含めた処理時間やシリアライズ後のワイアフォーマットでのデータサイズは、実際にクエリを実行しないと取得できませんでした。 EXPLAIN (ANALYZE, SERIALIZE) というように SERIALIZE オプション
![PostgreSQL 17からEXPLAINにSERIALIZEオプションが追加され、クエリをシリアライズするコストも取得できるようになりました | DevelopersIO](https://cdn-ak-scissors.b.st-hatena.com/image/square/b1a383f983979413143b6d523e54cb3d37ec8749/height=288;version=1;width=512/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2020%2F02%2Fpostgresql-1200x630.png)