SYS_ GUID and UUID
Warning
SingleStore 9.0 gives you the opportunity to preview, evaluate, and provide feedback on new and upcoming features prior to their general availability. In the interim, SingleStore 8.9 is recommended for production workloads, which can later be upgraded to SingleStore 9.0.
On this page
Generates and returns a new globally unique identifier (GUID) each time it is called.
Syntax
SYS_GUID()UUID()
Return Type
SYS_
: BINARY(16)
UUID
: VARCHAR(36)
Remarks
-
Returns a v4 UUID
-
The value returned will be globally unique
-
A new value will be produced for each row processed
-
A new value will be produced for each occurrence of the function in the query syntax
-
UUID
works exactly likeSYS_
except for the return typeGUID -
SYG_
/GUID UUID
cannot be used as a default column value for a sharded table -
SYS_
/GUID UUID
cannot be used in a computed column expression in a table definition
Note
Use INT
or BIGINT
fields for joining tables if performance is the most important consideration.BINARY(16)
columns works, but is noticeably slower.UUID
or SYS_
, use AUTO_
, or implement application code to provide integer key values on which to join tables, for the best performance.
Examples
SYS_ GUID Example
Create a simple table and insert a row.GUID
, convert it to HEX
:
CREATE TABLE id_t(a INT, b BINARY(16));INSERT id_t VALUES(1, SYS_GUID());
SELECT a, HEX(b) FROM id_t;
+------+----------------------------------+
| a | HEX(b) |
+------+----------------------------------+
| 1 | 7CD5B7769DF95CEFE034080020825436 |
+------+----------------------------------+
UUID Example
CREATE TABLE id_t2(a INT, b VARCHAR(36));INSERT INTO id_t2 VALUES(1, UUID());
SELECT * FROM id_t2;
+------+--------------------------------------+
| a | b |
+------+--------------------------------------+
| 1 | 15c67225-38f9-483b-8394-02a9e35a9156 |
+------+--------------------------------------+
Last modified: November 12, 2024