CodeLab技術ブログ

プログラミング技術まとめ

[MySQL]MySQLテーブルの主キー(Primary Key)をUUIDにした場合のパフォーマンス

なかなか興味深い記事を発見。

MySQLテーブルの主キー(Primary Key)をUUIDにした場合のパフォーマンス

結論はパフォーマンスの低下は2割程度のようです。
利便性、必要性があれば2割ならあまり気にしなくてもいいように思います。

DBの高速重複チェックに関するこちらの記事を以前書きましたが、パーティションテーブル化すればもっと早いのではと思います。
いつか試してみたい…

ですが、紹介したブロクでは指摘が無い問題が一つありそうです。
メモリの問題です。
プライマリキーはよく使われるのでメモリ上に展開させておきますが、整数型よりUUIDのほうが使用量が圧倒的に多くなります。
メモリが潤沢にあればいいですが、件数やテーブル数によってはメモリを圧迫してしまうかもしれません。
(まぁ、indexとか張りまくれば同じことが起きるので、杞憂かもしれませんが、データ量はできるだけ少ないほうが、メモリ、CPUリソースともに優しいはず)

コメントは受け付けていません。