-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
271f6a3
commit 198e0af
Showing
2 changed files
with
39 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd"> | ||
<metadata> | ||
<id>Sander.SequentialGuid</id> | ||
<version>1.0.0</version> | ||
<authors>Sander Säde</authors> | ||
<owners>Sander Säde</owners> | ||
<requireLicenseAcceptance>false</requireLicenseAcceptance> | ||
<licenseUrl>https://github.com/SanderSade/SequentialGuid/blob/master/LICENSE</licenseUrl> | ||
<projectUrl>https://github.com/SanderSade/SequentialGuid/</projectUrl> | ||
<iconUrl>https://img.shields.io/badge/Sequential-Guid-lightgrey.svg</iconUrl> | ||
<description>By default, GUIDs are not alphanumerically continuous or sortable in a meaningful way. | ||
|
||
A very common use for GUID is a primary key in the database - but with non-sequential GUIDs, it is not optimal to have the primary key as a clustered index. Using clustered index with nonsequential GUIDs can cause fragmentation and general performance issues. | ||
|
||
To resolve this, SQL Server has NEWSEQUENTIALID, which creates alphanumerically sortable, sequential GUIDs. The downside ot this approach is that the application will have to wait the SQL Server to create the primary key before the entry becomes usable - and of course, there are other database engines that do not have similar functionality. | ||
|
||
Windows has a native UuidCreateSequential function, which is not available on other .NET platforms. | ||
|
||
SequentialGuid library is implemented as a .NET Standard 2.0 package, allowing creation of sortable GUIDs prior storing data in the database on any compatible platform. In addition, there are useful helper functions to convert to/from GUID or get specific chartacter/byte. | ||
|
||
SequentialGuid is aimed for high-performance applications, as other such libraries are often very underperforming or do not have comparable functionality. | ||
</description> | ||
<copyright>© Sander Säde 2019</copyright> | ||
<tags>sequential-guids guid guid-conversion guid-generator </tags> | ||
<repository type="GitHub" url="https://github.com/SanderSade/SequentialGuid/" /> | ||
<dependencies> | ||
<group targetFramework=".NETStandard2.0"> | ||
<dependency id="System.Runtime.Numerics" version="4.3.0" exclude="Build,Analyzers" /> | ||
<dependency id="System.ValueTuple" version="4.5.0" exclude="Build,Analyzers" /> | ||
</group> | ||
</dependencies> | ||
</metadata> | ||
<files> | ||
<file src="Sander.SequentialGuid\bin\Release\netstandard2.0\Sander.SequentialGuid.dll" target="lib\netstandard2.0" /> | ||
<file src="Sander.SequentialGuid\bin\Release\netstandard2.0\Sander.SequentialGuid.xml" target="lib\netstandard2.0" /> | ||
</files> | ||
</package> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters