Sequential Guid 主键列应该是聚集索引吗?

2023-12-08

使用顺序 guid 的目标是,您可以使用聚集索引,而不会产生高级别碎片,如果它是常规 guid,那么聚集索引中通常会存在这种情况,对吗?


首先澄清一下,主键和聚集索引是两个独立且不同的东西,即一个不与另一个耦合(PK 可以是非聚集的,聚集索引可以是非 PK 的)。

鉴于此,我认为您询问更多“是否应该将顺序 GUID 用作聚集索引”。这是一个有内涵的问题,但是金伯利特里普讨论过这个可能是我见过的最好的。请注意,本文提到了 PK,但在文章中她提到了如何将考虑因素主要应用于聚集索引选择与 PK。

假设您已经决定使用 GUID 作为集群键(情况可能是也可能不是),那么使用顺序 GUID 很可能是比非顺序 GUID 更好的选择,但是至少有 1 个可能首选非顺序 GUID 的场景(尽管这是一种非常罕见、非常高级的场景,您必须基本了解您的系统和 SQL 服务器,以至于您毫不怀疑应该使用它 - 与存储设备上的热点并将大量写入分散到集群的不同位置)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sequential Guid 主键列应该是聚集索引吗? 的相关文章

  • 使用条件 SQL 统计每月汇总记录

    我有一张桌子 我们就叫他们桌子吧SUMMARYDATA NIP NAME DEPARTMENT STATUSIN STATUSOUT TOTALLOSTTIME A1 ARIA BB 2020 01 21 08 06 23 2020 01
  • TSQL - 生成文字浮点值

    我理解比较浮点数时遇到的许多问题 并对它们在这种情况下的使用感到遗憾 但我不是表格作者 只有一个小障碍需要克服 有人决定使用浮点数 就像您期望使用 GUID 一样 我需要检索具有特定浮点值的所有记录 sp help MyTable Colu
  • ASP SQL Server 连接

  • 使用 MS Access 链接表连接到 SQL Server 后端时是否可能发生 SQL 注入

    我一直在对此进行一些研究 但到目前为止还是一片空白 情况是这样的 我正在开发一个链接到 SQL Server 后端的 MS Access 前端 我在某种程度上使用 Access 中的链接表 表单访问 SQL DB 这样 当用户更新表单中的值
  • 在对象数组内的特定 JSON 值上创建索引

    假设我的表中有一个 varchar 列 其结构如下 Response DataArray Type Address Value 123 Fake St Type Name Value John Doe 我想在 DataArray 数组元素的
  • 跨数据库的用户定义类型

    我有一个数据库 其中包含我在多个数据库中使用的常用函数 这些函数之一采用表作为参数 该参数是用户定义的类型 我想知道是否有办法从另一个数据库调用这个函数 我尝试在其他数据库中定义类型 如下所示 DECLARE bits as Common
  • NVARCHAR 变量在Where 子句中不起作用

    在 SQL Server 我想是 2018 我不知道如何判断 中 我的变量不起作用WHERE的条款NVARCHAR 比较应该返回值 但它什么也没返回 如果我只是手动输入声明的文本 它会突然起作用并返回值 没有任何逻辑原因应该有任何不同 类型
  • 更好地理解 SQL Server 中的架构

    就像标题一样 我还是一个SQLServer菜鸟 当我创建表 Mytable 时 数据库中显示 dbo Mytable 但有人能让我更好地理解模式吗 另外 在 Server 2008 TSQL 一书中 Itzik 说 在你的数据库中 表属于模
  • SQL Server:为什么 ISO-8601 格式的日期依赖于语言?

    我需要一些帮助来理解 SQL Server 中的日期格式处理 如果您尝试以下操作 它将返回正确的结果 SET LANGUAGE English SELECT CAST 2013 08 15 AS DATETIME 2013 08 15 00
  • 如何在 sql server 中加密数据并在 .net 应用程序中解密

    我想加密 sql server 中的一些密码并让 c 应用程序解密它们 显然 我可以创建一个 SP 来解密所需的密码并将其传递给 c 应用程序 但这意味着通过网络发送明文密码 因此 我希望能够在 sql server 中加密我的密码 使用密
  • SQL Server 2008。允许远程连接吗?

    我在 Windows XP Pro 机器上安装了 SQL Server 2000 和 2008 我可以在本地连接到两个数据库实例 从另一个机器 Windows 7 机器 中 我可以连接到第一个机器上的 SQL 2000 实例 但无法使用本地
  • SQL Server 查询中 UNION ALL 与 OR 条件

    我必须根据表上不存在的条件选择一些行 如果我使用如下的 union all 它会在不到 1 秒的时间内执行 SELECT 1 FROM dummyTable WHERE NOT EXISTS SELECT 1 FROM TABLE t WH
  • 如何获得一列中的最大数量?

    我一直在尝试找到一个如何获取列中最大数字的示例 我想做的是 找到 TABLE A 中的最大列数 点 列 例如 我想输出这个 MAX 数字
  • BULK INSERT 返回错误“访问被拒绝”

    运行批量插入时 BULK INSERT MyDatabase dbo MyTable FROM Mylaptop UniversalShare SQLRuleOutput csv WITH FIRSTROW 2 FIELDTERMINATO
  • 更改表添加列并在同一条件 IF 语句中更新新列

    我正在尝试添加列并在同一 if 语句中更新它 BEGIN TRAN IF NOT EXISTS SELECT 1 FROM sys columns WHERE Name N Code AND Object ID Object ID N Te
  • 如何在 SQL Server 2012 中选择除一列之外的所有列? [复制]

    这个问题在这里已经有答案了 有没有一种方法可以选择所有列 但只选择我不想选择的特定列 我的意思是有时我会遇到这样的问题 表有数百个字段 而我只需要删除一个字段 我需要重写所有列吗 有什么窍门吗 喜欢select
  • 跳过行:将数据从 SSIS 导出到 Excel 文件

    我正在尝试使用 SSIS 将数据从 SQL Server 数据库导出到 Excel 文件中 我希望从第 6 行插入数据 第 5 行有标题 我可以映射标题名称Excel 目标编辑器 通过编写 SQL 命令到 SQL 表头 SELECT FRO
  • TransactionScope 是否需要开启 DTC 服务?

    根据我的阅读 为了在 NET 中使用 TransactionScope 您需要运行 Windows 中的分布式事务协调器服务 我有那个服务关掉 并且我的应用程序似乎运行相同并且回滚事务没有问题 我错过了什么吗 它如何能够发挥作用呢 我正在运
  • SQL Server:如果存在会大大减慢查询速度

    正在使用SQL Server 2012 我找到了一些关于查询优化的主题 并将 EXISTS 与 COUNT 进行比较 但我找不到这个确切的问题 我有一个看起来像这样的查询 select from tblAccount as acc join
  • 替换字符串中的多个字符,而不使用任何嵌套替换函数

    我的表中存储了一个方程 我一次获取一个方程 并希望将所有运算符替换为任何其他字符 输入字符串 N 100 6858 6858 N 100 0 2 N 35 运算符或模式 替换字符 输出字符串 N 100 6858 6858 N 100 0

随机推荐

  • 动态添加侦听器到 ajax 在 jQuery 中创建的内容

    我正在尝试获取单击的链接的 html 值 这些链接是使用 Ajax 动态创建的 所以我认为 bind 不会 工作 但我没有最新版本的 live div message click function var valueSelected thi
  • JIT编译和DEP

    我正在考虑尝试一些 jit 编译 只是为了学习 并且让它跨平台工作会很好 因为我在家运行所有主要的三个 windows os x linux 考虑到这一点 我想知道是否有任何方法可以摆脱使用虚拟内存窗口函数来分配具有执行权限的内存 如果只使
  • 关于静态持有者单例模式

    我根据挥发性 惰性单例 急切单例 普通单例以及通过枚举等条件以多种方式开发了单例 但具体来说我想了解如下所示的静态持有者模式单例 public static class Singleton private static class Inst
  • QML TableView 使用 QtQuick.Controls 2 单击行

    我在网上搜索了很多 但没有找到答案 这真的很奇怪 因为我认为这是大多数人应该使用的基本功能 可能我不明白如何正确使用表格视图 with QtQuick Controls 2 问题是 我想知道我单击了哪一行 并且我想访问该行的特定列的数据 类
  • Gmail 应用程序中的表格间隙未跨越整个宽度和高度

    经过几天的尝试寻找解决方案 未成功 我决定向社区的集体智慧和经验寻求帮助 我 我有一个电子邮件模板 可以在所有桌面 网络和移动客户端 Android 版 Gmail 应用程序除外 上正确显示 我有一个嵌套的导航表 由顶部图像 导航本身和底部
  • 如何在 pandas 中将多列折叠为一列

    我有一个填充了用户和类别的 pandas 数据框 但这些类别有多个列 user category val1 val2 val3 user 1 c1 3 NA None user 1 c2 NA 4 None user 1 c3 NA NA
  • 正则表达式仅匹配最里面的分隔序列

    我有一个包含由多个字符分隔的序列的字符串 lt lt and gt gt 我需要一个正则表达式来只给我最里面的序列 我已经尝试过前瞻 但它们似乎没有按照我期望的方式工作 这是一个测试字符串 do not match this lt
  • SSRS 2012 图表未渲染 [关闭]

    Closed 这个问题是无关 目前不接受答案 我们最近升级到 SQL Server 2012 几天前重新启动后 所有图表都停止工作 当我尝试从报告查看器控件中查看各种报告中的所有图表时 它们现在都显示为损坏的图像 左上角有一个红色 x 这种
  • 如何将元组的值转发到成员初始值设定项?

    我需要将元组的值转发到成员初始值设定项 struct Struct Member1 member1 Member2 member2 template
  • 如何在 Openshift 中使用简单的 npm-install?

    我正在尝试在我的 openshift 帐户上使用可爱文件 https www npmjs com package cute files 我知道 node js 的工作方式与我在 localhost 3000 中所做的一样 但不是那么专家 我
  • C中unsigned和unsigned int的区别

    您能说清楚两者之间的区别吗unsigned and unsigned int 也许一些示例代码会有所帮助 unsigned是一个修饰符 可以应用于任何整型 char short int long等 但就其本身而言 它与unsigned in
  • int64_t 的定义

    我是 C C 新手 所以我有几个关于基本类型的问题 a 你能向我解释一下两者之间的区别吗int64 t and long long int 根据我的理解 两者都是 64 位整数 有什么理由选择其中之一而不是其他吗 b 我试图查找定义int6
  • Spring AOP引入中原有接口丢失

    这是我的 Spring AOP 配置
  • 在 R 中绘图时图例消失

    我绘制了五个图表和一个图例 这些图表工作得很好 但是图例消失了而没有错误 我在 RStudio 中的预览如下所示 当我放大时 图例所在的区域是空白的 我使用以下代码 opar lt par no readonly TRUE par mfro
  • \377\376 附加到文件(Windows -> Unix)

    我有一个SSIS执行以下操作的包 运行 SQL 脚本 将结果导出到平面文件 UTF 8编码 分隔 并且 n对于新线路 FTP 结果到Solaris机器 二进制格式 问题是 当文件出现在我的 Solaris 机器上时 文件开头有以下内容 37
  • 如何动态创建局部变量?

    我有一个变量var some name 我想创建一个新对象并将其分配给some name 我该怎么做 例如 var some name some name Struct new name I need this a some name ne
  • oracle中使用seq和trigger自动增量-无效的sql语句

    我是 Oracle 的新手 来自 MySQL 我试图使用序列和触发器在 Oracle 中使用自动增量 以便每次插入时它都会将我的字段增加一 CREATE SEQUENCE proposals seq MINVALUE 1 START WIT
  • 如何打开多个窗口或操作多个实例

    如果出于某种疯狂的原因 我需要打开 100 个窗口 选项卡并导航到其中的 100 个不同的链接 我该怎么做 我可以同时在所有 100 个测试中运行某些测试吗 假设我有一个数组 a b c d e 我需要测试某种形式是否适用于所有这些值 我怎
  • QQuickWidget抓取图像

    我正在保存一个图像QQuickWidget有几个 QML 孩子 但我只有一张空白图像 C 方面 QQuickWidget content content gt setSource QUrl qml main qml QPixmap pm c
  • Sequential Guid 主键列应该是聚集索引吗?

    使用顺序 guid 的目标是 您可以使用聚集索引 而不会产生高级别碎片 如果它是常规 guid 那么聚集索引中通常会存在这种情况 对吗 首先澄清一下 主键和聚集索引是两个独立且不同的东西 即一个不与另一个耦合 PK 可以是非聚集的 聚集索引