注意 この記事の実験は実際の運用を正確に反映していない恐れがあります(コメント欄の @hmatsu47 さんの投稿を参照)。 実務のアプリケーションでは異なる結果になる可能性もあるので、本記事の内容はあまり鵜呑みにせず参考程度に留めておいてください。 ※「実務に近い環境で実験してみた」という投稿もお待ちしています! はじめに データベース(この記事ではPostgreSQLを対象とします)の主キーは1,2,3のような連番の整数値を主キーにするSERIALと、"00009236-b73c-4338-8ebd-e1f6c4f4fdd8"のようなランダムな文字列を主キーにするUUIDがあります。 それぞれメリットとデメリットがありますが、パフォーマンスについてはどうでしょうか?なんとなくSERIALの方がシンプルなぶん、速そうなイメージがありますが、実際はどうなのか調べてみました。 実行環境 Ma
![PostgreSQLのプライマリーキーはSERIALとUUIDのどっちが速いのか実験してみた - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/9cad46279daadf8f607cca351878bd7d14c73b59/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9UG9zdGdyZVNRTCVFMyU4MSVBRSVFMyU4MyU5NyVFMyU4MyVBOSVFMyU4MiVBNCVFMyU4MyU5RSVFMyU4MyVBQSVFMyU4MyVCQyVFMyU4MiVBRCVFMyU4MyVCQyVFMyU4MSVBRlNFUklBTCVFMyU4MSVBOFVVSUQlRTMlODElQUUlRTMlODElQTklRTMlODElQTMlRTMlODElQTElRTMlODElOEMlRTklODAlOUYlRTMlODElODQlRTMlODElQUUlRTMlODElOEIlRTUlQUUlOUYlRTklQTglOTMlRTMlODElOTclRTMlODElQTYlRTMlODElQkYlRTMlODElOUYmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZ0eHQtY2xpcD1lbGxpcHNpcyZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWMyNGQyYTVmZmEyNmExYjY4NTU4ZDE1YTg1NTdhZTkz%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwam5jaGl0byZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTMyJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9Y2RkOGU1ODdlZjZkN2M1ZGMxYmU3NGY3MWIyYjNkODQ%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dcb2b5f6b3ea0b4c500c7d3fa04f53dab)