Storing MySQL GUID/UUIDs

binary, guid, mysql, uuid

Solution

Not many implications. It will slow down the queries a little, but you will hardly notice it.

`UNIQUEIDENTIFIER` is stored as `16-byte binary` internally anyway.

If you are going to load the binary into a client and parse it there, note the `bit order`, it may have other string representation than the initial `NEWID()`.

`Oracle`'s `SYS_GUID()` function is prone to this issue, converting it to a string gives different results on client and on server.

Problem

This is the best way I could come up with to convert a MySQL GUID/UUID generated by UUID() to a binary(16): ``` UNHEX(REPLACE(UUID(),'-','')) ``` And then storing it in a BINARY(16) Are there any implications of doing it this way that I should know of?

Original source