SequentialGuidProvider
SequentialGuidProvider
provides functionality for server side generation sequential GUID (COMB GUID).
Setup
The basic setup is:
AddSequentialGuidProvider
extension method performs registration of SequentialGuidProvider with specified settings.
Parameter name | Parameter type | Description |
---|---|---|
initializer |
| Initializer which returns GUID to combine with timestamp. Default value is |
timestampProvider |
| Timestamp provider for generating COMB GUID. |
Usage
Inject ISequentialGuidProvider
service and use it:
ITimestampProvider
methods list:
Method name | Return type | Description |
---|---|---|
GetSequentialGuid |
| Generate new sequential GUID. |
GetSequentialGuid
method generating sequential GUID with following types:
String
SequentialGuidType.String
- The first six bytes are in sequential order, and the remainder is random. Inserting these values into a database that stores GUIDs as strings (such as MySQL) should provide a performance gain over non-sequential values. This type should be used with MySQL or PostgreSQL database.
Binary
SequentialGuidType.Binary
- The first two blocks are "jumbled" due to having all their bytes reversed (this is due to the endianness issue discussed earlier). If we were to insert these values into a text field (like they would be under MySQL or PostgreSQL), the performance would not be ideal. This type should be used with Oracle database.
Ending
SequentialGuidType.Ending
- The last six bytes are in sequential order, and the rest is random. This type should be used with MS SQL Server database.
Last updated