|
|
1
2
所有存储的进程将自动重新编译。不管怎样,当状态发生变化,并且在索引维护之后,都会发生这种情况。 在某些时候,您必须重新组织4.78亿行(删除/创建索引)或移动(新表)。不幸的是,两种方法都不如另一种好。不过,我感到您的痛苦:我们有同样大的表,其中有挂起的新列和索引更改。 这就是说,在删除/创建聚集索引时,应该执行步骤2-1-4-3,以避免不必要的非聚集索引维护。 并删除唯一约束。聚集索引可以是唯一的和聚集的。唯一的常量只是另一个不必要的索引。 至于性能优势,也许可以问供应商为什么。 |
|
|
2
2
我要认真研究的一件事是,与int标识(4字节)相比,其他两列的类型是什么?它们有多大?? 我问的原因是: 群集键 也将添加到表中的所有非聚集索引中-如果有近5亿行,它将使 巨大的差异 集群键是单个4字节int,还是两个16字节guid。 注意,这不仅存在于磁盘上—页面全部加载到SQL Server的RAM中—因此,通过潜在地增加集群密钥,由于非集群索引需要的磁盘(和RAM)上的页面数量更多,您将受到性能惩罚。 我能看到实际进行这些更改的唯一令人信服的原因是,如果通过使用这两个其他列对表进行集群,您可以从查询性能方面获得一些好处,例如,如果由于表现在是cl,一些最频繁的查询速度会更快。被这两列所包围。这真的很难知道,除非你知道访问和查询模式是什么…… |
|
|
3
0
创建另一个具有相同结构和新索引方案的表,然后复制数据,删除旧表并重命名新表是一种更好的方法吗? 我相信这就是SQL企业管理器在幕后所做的,不管怎样,如果您使用可视化工具来实现这一点的话。如果您更改了模式,例如在表中间添加一列,或者更改了主键,那么会有一个小按钮允许您“编写更改脚本”。如果查看此脚本,则可以看到Enterprise Manager将采取哪些步骤来执行您请求的操作。 |
|
|
Max · 用两列中的特定值对识别R中的数据帧行 1 年前 |
|
|
Dasi · Pandas.loc返回序列或浮点数不一致 1 年前 |
|
climsaver · 首次连续查找两个相同值的索引 1 年前 |
|
|
babipsylon · 在C中创建div_t类型结构元素的数组++ 2 年前 |
|
|
Martin AJ · 如何在庞大的数据集上快速执行COUNT(*)? 2 年前 |