- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我们使用 GUID 作为主键,您知道默认情况下它是集群的。
当向表中插入新行时,它会插入到表中的随机页面(因为 GUID 是随机的)。这具有可衡量的性能影响,因为数据库将始终拆分数据页(碎片)。但我使用顺序 GUID 的主要原因是因为我希望将新行作为表中的最后一行插入...这将有助于调试。
我可以在 CreateDate
上创建聚集索引,但我们的数据库是自动生成的,并且在开发中,我们需要做一些额外的事情来促进这一点。此外,CreateDate
也不是聚集索引的理想选择。
过去,我使用 Jimmy Nielsons COMB's ,但我想知道 .NET 框架中是否有这方面的内容。在 SQL 2005 中,Microsoft 引入了 newsequentialid()
作为 newid()
的替代方法,因此我希望他们能制作一个 .NET 等效项,因为我们在代码中生成了 ID。
PS:请不要开始讨论这是对还是错,因为 GUID 应该是唯一的等等。
最佳答案
应该可以使用对 UuidCreateSequential 的 API 调用在 c# 或 vb.net 中创建顺序 GUID。下面的 API 声明 (C#) 取自 Pinvoke.net您还可以在其中找到有关如何调用该函数的完整示例。
[DllImport("rpcrt4.dll", SetLastError=true)]
static extern int UuidCreateSequential(out Guid guid);
UuidCreateSequential函数相关的MSDN文章可以是found here其中包括使用的先决条件。
关于c# - 是否有等同于 SQL Server newsequentialid() 的 .NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/211498/
判断这2个相似的Uris实际上相同的标准方法是什么? var a = new Uri("http://sample.com/sample/"); var b = new Uri("http://sam
这个问题在这里已经有了答案: Why does "true" == true show false in JavaScript? (5 个答案) 关闭 5 年前。 可能我很困惑,但我无法理解这个愚蠢
我是一名优秀的程序员,十分优秀!