clustered-index

    0热度

    1回答

    我创建了一个表,其中我使用唯一标识符(GUID)作为表的主键。现在我需要在我的表上创建一个索引,哪一个对我来说是最好的..我打算使用这张表来记录错误。 以下是我的表结构 CREATE TABLE [dbo].[errors]( [error_id] [uniqueidentifier] NOT NULL, [assembly_name] [varchar](50) NULL, [method_

    2热度

    3回答

    A clustered index将实际数据行存储在索引的叶级别。回到上面的例子,这意味着与主键值123相关联的整行数据将存储在该叶节点中。 问题 - 的情况下,主键不存在,我设置了Name列作为聚集索引。在这种情况下,上述说法会变得矛盾吗?

    0热度

    1回答

    的部分条款,我有以下表模式: CREATE TABLE [Foo]( [id] [int] NOT NULL, [name] [varchar(250] NULL, [datetime_stamp] [datetime] NULL, CONSTRAINT [pk_Positions] PRIMARY KEY CLUSTERED ( [id] ASC)) 假设有这种情况发生插入n次每

    1热度

    1回答

    如果我没有弄错聚簇索引根据一些自定义顺序在磁盘上物理排序表的行。我假设表格存储在文件中(也许每个表格有一个文件?)。那么不过,假设有人在表格中插入一个“新行”,并且应该放置在开始处。数据库然后需要在文件中物理地移动整个表格(所有行)?是不是太慢或有没有任何优化技术如何在插入后实现排序顺序?

    -6热度

    3回答

    我在我的书的项目看到了命令(书 - 教你SQL在10分钟,2004年): ALTER TABLE Customers WITH NOCHECK ADD CONSTRAINT PK_Customers PRIMARY KEY CLUSTERED (cust_id); 你能告诉我这些命令的意思(或给予与这些命令的简单教程链接): WITH NOCHECK CLUSTERED 是否有任何替代上面的

    1热度

    2回答

    可以说,我有一个这样的表: a | b | c | d ______________ 1 | 2 | 4 | 5 6 | 2 | 5 | 5 3 | 5 | 2 | 5 [a]柱已经聚集索引 所以其其存储的物理顺序是: a | b | c | d ______________ 1 | 2 | 4 | 5 3 | 5 | 2 | 5 6 | 2 | 5 | 5 现在让我们增强

    0热度

    2回答

    所有的问题是在标题中, 如果我们杀死一个数百万行表上的集群查询,它会危害数据库吗? 查询现在运行了2个小时,我需要明天上午访问表(希望有12小时左右)。 我认为这会快得多,我的数据库运行在RAID和Bi-Xeon处理器上。 感谢您的明智建议。 Sid

    0热度

    1回答

    我有两个问题。 当我必须选择Integer类型列上的聚簇索引而不是通过字符串值类型列选择聚簇索引时,它有意义吗? 为什么? 聚集索引将导致每当因为新行不追加到索引的末尾,但在中间插入 我是正确的INSERT被处理的页面数据的顺序?选择Integer类型列的聚簇索引的其他原因是什么?或者我正朝错误的方向发展? 当我有搜索使用%...%串像下面的查询 Select Column1 From Table

    0热度

    1回答

    我昨天执行的更新语句大致如下: UPDATE MainTable Set SomeField = SubsetTable.SomeField where MainTable.MainTableKey = SubsetTable.MainTableKey 其中SubsetTable是MainTable一个子集,并且具有相同的主键字段。 MainTable大约有200m记录,SubsetTab

    1热度

    1回答

    在选择索引键在SQLServerpedia文章我发现下面几行: 由于表中的数据按聚集索引的结构是有序的,该指数建立在last_name,first_name的行为与在first_name,last_name上创建的行为不同。应该首先指定最具选择性的列。 为什么?为什么a,b上的索引不同于b上的索引?组合的唯一性无论如何都是一样的,那么为什么要指定一个先发生得更少的呢?