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.
initializer
SequentialGuidInitializer
Initializer which returns GUID to combine with timestamp. Default value is Guid.NewGuid
.
timestampProvider
SequentialGuidTimestampProvider
Timestamp provider for generating COMB GUID.
Usage
Inject ISequentialGuidProvider
service and use it:
ITimestampProvider
methods list:
GetSequentialGuid
Guid
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