Important
The SingleStore 9.1 release candidate (RC) is available now. It will be promoted to general availability (GA) soon and at that time it will be renamed to SingleStore 10.
In the interim, SingleStore 9.1 RC can be used to preview, evaluate, and provide feedback on the new and upcoming features in SingleStore 10, while SingleStore 9.0 is recommended for production workloads.
SYS_ GUID and UUID
On this page
The SYS_ and UUID() functions generate and return a new globally unique identifier (GUID) each time they are 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
-
UUIDworks exactly likeSYS_except for the return typeGUID -
SYG_/GUID UUIDcannot be used as a default column value for a sharded table -
SYS_/GUID UUIDcannot 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: