7得票3回答
B-树、数据库、顺序插入与随机插入,以及速度。随机插入正在取得胜利。

编辑 @Remus纠正了我的测试模式。您可以在他下面的答案中查看更正后的版本。 我采用了将INT替换为DECIMAL(29,0)的建议,结果如下: Decimal: 2133 GUID: 1836 即使行稍微大一些,随机插入仍然获胜。 尽管有解释表明随机插入比顺序插入慢,但这...

8得票5回答
在SQL Server 2005中不建立聚集索引的原因

我收到了一些用于创建 SQL SERVER 2005 数据库的脚本。 其中一个问题是,所有主键都被创建为NON CLUSTERED索引而不是聚集索引。 我知道每个表只能有一个聚集索引,你可能想将它放在非主键列上以提高查询性能等。但是,在这些表中没有其他CLUSTERED索引。 所以我的问...

19得票1回答
SQL Server索引是否包含主键?

我的一位同事认为,在SQL Server 2008中向表添加索引时,主键的索引也会被添加到该索引中。 因此,如果您正在使用较宽的主键,则该键也将包括在新索引中,使磁盘空间的使用量大大增加,超过已经为PK索引支付的惩罚。 我之前没有听说过这个问题,但迄今为止我的搜索结果为空。 希望这里的某个人...

11得票3回答
如何在SQL Server中选择聚集索引?

通常在SQL Server Management Studio中,通过设置主键来创建聚集索引,但是我的最近一个关于PK <-> 聚集索引 (Meaning of Primary Key to Microsoft SQL Server 2008) 的问题表明,将PK和聚集索引设置为相等并非...

19得票4回答
为什么我的聚集索引上出现了扫描?

SQL 2000 NED表的外键是指向SIGN表的NED.RowID到SIGN.RowID上的 SIGN表的外键是指向NED表的SIGN.SignID到NED.SignID上的 RowID和SignID是聚簇主键,是GUID(不是我的选择) WHERE子句是:FROM [SIGN] A...

9得票2回答
如何查询表格是否具有聚集主键

我发现了这个问题,但它似乎没有回答我的问题... SQL Server - 如何查找聚集索引是否存在 我该如何编写一个 IF T-SQL 语句来判断: IF NOT ([TableName] has a CLUSTERED PK) ALTER TABLE to add the CL...

23得票5回答
如何使用Entity Framework Core创建聚集索引

从 EF6.1 开始,我们有一种指定属性聚集索引的方法public class Person { [Index(IsClustered = true, IsUnique = true)] public long UserName { get; set; } } 但是在EF Core中...

31得票3回答
SQL Server堆与聚集索引

我正在使用SQL Server 2008。我知道如果一个表没有聚集索引,那么它被称为堆,否则存储模型称为聚集索引(B-Tree)。 我想了解更多关于堆存储的内容,堆存储具体是什么样子,它是否组织成“堆”数据结构(例如,最小堆,最大堆)。有没有推荐的阅读资料?我想要进一步了解内部原理,但不需要...

10得票1回答
SQL Server:在主键上使用 ADO.Net 的 GetUpdateCommand 正常,但在添加另一个聚集唯一索引后失败

我有这样一张表,它具有非聚集主键:CREATE TABLE [dbo].[StudentGrade]( [EnrollmentID] [int] IDENTITY(1,1) NOT NULL, [CourseID] [nvarchar](10) NOT NULL, [S...

132得票6回答
聚集索引和非聚集索引的区别

我需要为我的表格添加适当的索引(index),需要一些帮助。 我有些困惑,需要澄清几个问题: 我应该为非整数(non-int)列使用索引吗?为什么/为什么不? 我读了很多关于聚集(clustered)和非聚集(non-clustered)索引的文章,但我仍然无法决定何时使用其中之一。一个...