すべてのテーブルのプライマリキーにハッシュベースの生成されたIDを使用するレガシースキーマ(免責事項!)があります(多数あります)。このようなIDの例は次のとおりです。
922475bb-ad93-43ee-9487-d2671b886479
このアプローチを変更する可能性はありませんが、インデックスアクセスのパフォーマンスは低下します。これが無数にある理由は別として、多くのテーブルのすべてのid値が正確に36文字の長さであるにもかかわらず、列タイプはvarchar(36)
でなく 、最適ではないように思われることが1つありchar(36)
ます。
固定長に列の型を変更することだろうchar(36)
任意の提供の重要なインデックスページなどあたりのエントリの数が非常に少ないの増加を超えて、インデックスのパフォーマンス上の利点?
つまり、固定長型を扱う場合、可変長型よりもpostgresの方がはるかに高速ですか?
わずかなストレージの節約については言及しないでください-列に変更を加えるために必要な手術と比較しても問題にはなりません。