I spent some time today evaluating whether switching columns that store UUIDs from varchar(255) to char(36) (or binary, etc) would result in any noticeable performance improvement in MySQL. It does seem like it could make an improvement, but not enough to be worth the effort in our case.

What I learned from researching today:

Conclusion: Use the CHAR(36) type in MySQL. Use the UUID type in PostgreSQL.

If I’m wrong about what I took away from reading today, please let me know in the comments. I’d love to learn more about this.