Microsoft SQL Server 2008 主键的含义

2023-12-26

主键的概念对于SQL Server数据库引擎有什么意义?我的意思不是在“ID”列上创建的聚集/非聚集索引,我的意思是约束对象“主键”。存在与否有什么关系吗?

备择方案:

  1. 更改表添加主键聚集
  2. 更改表创建聚集索引

这有什么不同吗?


一般来说,KEY 是唯一标识表中每一行的列(或列的组合)。一个表中可能有多个 KEY(例如,您可能有一个Person表中的社会安全号码和自动递增号码都是 KEY)。

数据库设计者选择one这些 KEY 中的一个作为主键。从概念上讲,这并不重要which选择 KEY 作为主键。然而,由于主键通常用于从其他表(通过外键)引用该表中的条目,因此选择一个好的主键可能是相关的。 (A)表现(b)可维护性:

(a) 由于主键通常用于 JOIN,因此主键上的索引(其大小、分布……)比其他索引与性能更相关。

(b) 由于主键在其他表中被用作外键,changing主键值总是很麻烦,因为其他表中的所有外键值也需要修改。

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

Microsoft SQL Server 2008 主键的含义 的相关文章

  • IIF(...) 不是公认的内置函数

    我正在尝试在 Microsoft SQL Server 2008 R2 中使用它 SET SomeVar SomeOtherVar IIF SomeBool value when true value when false 但我收到一个错误
  • 使用连接池后如何处理过多的并发连接?

    Scenario 假设您有一个拥有大量流量的网站或应用程序 即使使用数据库连接池 性能也会受到真正的打击 站点 应用程序甚至可能崩溃 因为并发连接太多 Question 人们有什么选择来处理这个问题 我的想法 我在想有这个问题的人可以创建多
  • 插入具有只读主键列的表

    我正在使用一个使用 sql server 数据库的应用程序 我试图在表中插入一行 如下所示 该表有一个主键 prodNum 这是自动生成的密钥 当我尝试向表中插入一行时 如下所示 在行中intResult oSglProdTableAdap
  • 没有提示指令的直连接中表的顺序是否会影响性能?

    所有基于 SQL 的 RDBMS 10 年前的版本 直接连接查询 没有提示指令 中的表顺序是否会对最佳性能和内存管理产生影响 听说最后一个join应该是最大的表 您的数据库的查询优化器如何处理这种情况 回答你的问题 是的 表的顺序在连接中有
  • SQL Server使用in关键字传递字符串数组查询

    我认为 IN 子句不能接受具有多个值的绑定参数 Oracle 不能 需要几分钟 查询是 declare setting varchar max set setting Sales Entry Grid Cursor Customer Man
  • 如何配置database.yml以部署到Heroku

    我最近升级到了最新版本的Rails 并且不明白如何将应用程序部署到Heroku 这是我的database yml file default default adapter postgresql pool 5 timeout 5000 dev
  • 在 SQL Server 2005 中,len() 和 datalength() 有什么区别?

    SQL Server 2005 中的 len 和 datalength 有什么区别 DATALEN 将返回用于存储值的字节数 http msdn microsoft com en us library ms173486 SQL 90 asp
  • ALTER TABLE 语句与 FOREIGN KEY 约束冲突

    为什么要添加外键tblDomare表导致此错误 ALTER TABLE 语句与 FOREIGN KEY 约束 FK tblDomare PersN 5F7E2DAC 冲突 冲突发生在数据库 almu0004 表 dbo tblBana 列
  • MySQL JOIN 滥用?情况会变得有多糟糕?

    我读了很多关于关系数据库的文章 在每个 SELECT 上使用许多 JOIN 语句 但是 我一直想知道滥用这种方法从长远来看是否会出现任何性能问题 例如 假设我们有一个users桌子 我通常会添加 最常用 的数据 而不是进行任何额外的联接 例
  • 如何使用一个命令删除 SQL 数据库中的所有索引?

    那么 如何通过一条命令删除 SQL 数据库中的所有索引呢 我有这个命令可以获取所有 20 个左右的 drop 语句 但是如何从这个 结果集 运行所有这些 drop 语句呢 select from vw drop idnex 给我相同列表的另
  • BULK INSERT 返回错误“访问被拒绝”

    运行批量插入时 BULK INSERT MyDatabase dbo MyTable FROM Mylaptop UniversalShare SQLRuleOutput csv WITH FIRSTROW 2 FIELDTERMINATO
  • 以编程方式读取 SQL Server 查询计划建议的 SQL 特定执行的索引?

    如果我在 SSMS 中运行此命令 set showplan xml on GO exec some procedure arg1 arg2 arg3 GO set showplan xml off GO 我获得查询执行中涉及的完整调用堆栈的
  • SQL服务器超时

    我的应用程序是在经典 asp 上开发的 但也使用 asp net 因为我正在将应用程序迁移到 Net 上 它使用 SQL Server 作为数据库并托管在 Windows Server 2003 上 现在的问题是应用程序在很长一段时间内继续
  • 从 MS Access 调用存储过程会导致错误 3146

    当我使用下面所示的代码从 MS Access 前端调用 SQL Server 存储过程时 它停止运行并抛出运行时错误 3146 这个存储过程在 SQL Server 中工作正常 但是当我从 MS Access 运行时 它首先工作 但突然停止
  • 如何修复 pgbackups 错误:备份 url 无效?

    我正在尝试按照迁移到 Cedar 的说明进行操作 除了我进行了重大重写 因此这不是前一个应用程序的分支 而是一个单独的分支 并停留在数据库迁移步骤 我安装了 pgbackup 和 heroku postgresql 插件 但得到了这个结果
  • SSIS 包在 sql server 代理中失败,但在 Visual Studio 中失败。 ODBC 连接

    我有一个 SSIS 包 在 Visual Studio 2010 中运行良好 但作为 SQL Server 的一项作业 它在连接到 ODBC 数据库时失败 该项目使用密码对敏感数据进行加密 这是因为代理服务器不是我的帐户 也恰好是使用连接字
  • SQL-Server:备份集保存现有数据库以外的数据库的备份

    我正在尝试恢复数据库的 SQL Server 备份文件 但它抛出如下错误 备份集保存除现有数据库之外的数据库的备份 我的数据库是SQL Server 2008 备份文件是2005年的 可能是什么问题 我也遇到过这个问题 解决方案 不要创建空
  • 跳过行:将数据从 SSIS 导出到 Excel 文件

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

    使用 SQL Server 2005 如何使用 T SQL 将文件读入 SPROC 所以 假设我有一个像这样的 CSV 文件 ID OtherUselessData 1 asdf 2 asdf 3 asdf etc 我基本上想这样做 Sel
  • 如何从 Laravel 执行存储过程

    我需要在表单提交数据后执行存储过程 我让存储过程按照我想要的方式工作 并且我的表单正常工作 我只是不知道从 laravel 5 执行 sp 的语句 它应该是这样的 执行 my stored procedure 但我似乎在网上找不到类似的东西

随机推荐

  • 如何使用自制程序在 Mac OS X 上安装 GTest?

    我正在尝试使用数据包管理器安装 gtest自酿啤酒但没有它的存储库 我尝试从 code google 下载 gtest 但我不明白如何安装它 因为cmake and make不解决问题 如果您想要最新版本而不使用 Homebrew git
  • Tkinter:单击按钮时如何将按钮的文本作为参数传递给函数

    我有以下代码 可以生成 5x5 尺寸的随机按钮网格 import tkinter as tk from tkinter import from tkinter import messagebox import random def numb
  • 为什么我无法在 MinGW 中链接 64 位 .lib 文件?

    我需要在使用 MinGW 的 Eclipse CDT 中的项目中使用第三方 lib dll 文件 可能在 Visual Studio 中编译 我可以成功地动态链接到 32 位版本 使用 32 位 MinGW 但不能成功链接到 64 位版本
  • 用于 Pl/SQL 开发的 IDE [已关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有免费的 PL SQL 开发 IDE I use SQL开发人员 http www oracle com technology pro
  • 运行时从Jar文件加载资源

    我正在尝试从运行时添加的 Jar 文件加载资源 但没有走得太远 这是我的代码 常规 URL url new URL jar file out resource jar test resource def urlList lt lt url
  • sap abap 中系统忽略条件的循环

    我尝试应用带有条件的循环来总结相应的行 字段 其中条件应该是正确的 但在系统运行期间 程序忽略了条件并总结了所有行 有什么建议来解决这个问题吗 SELECT FROM LIPS INTO CORRESPONDING FIELDS OF TA
  • WebService 在 WebLogic 10.3 中不“可见”

    我目前正在尝试让我的应用程序提供网络服务 该应用程序使用 spring 并在 Weblogic 10 3 实例下运行 我按照 合同第一 的方法构建了网络服务 所以我基本上拥有的是生成的 WS 接口 该接口的实现 定义 servlet 绑定的
  • 从欧洲DTCO公司卡读取数据

    我需要能够从欧洲数字行车记录仪公司卡 智能卡 读取卡和公司识别数据 这些在文档中进行了描述委员会条例 EC No 1360 2002 http eur lex europa eu LexUriServ LexUriServ do uri O
  • Oracle 11g“绑定变量不存在”

    我在以下代码中收到 ORA 01006 绑定变量在第 15 行不存在 错误 DECLARE v search string varchar2 4000 OK v query str VARCHAR2 4000 match count int
  • 在 Web Deploy 工具中设置自动备份

    我一直在努力设置自动备份 但似乎遇到了困难 按照此document http www iis net learn publish using web deploy web deploy automatic backups 并使用 Power
  • 读取许多文件,计算一些内容,将结果保存在数据帧中(R)

    我有大约 100 个文件 长文件名 其中包含来自模拟的数据 主题是两种物质的降解 所以我有 3 个相关列 时间 物质 1 的相对浓度 Sub1 从 1 0 到零 和相对浓度 物质 2 Sub2 我想读取文件 确定每种基材 99 降解的时间
  • 将字节数组转换为对象

    C 有没有办法将纯字节数组转换为对象 例如给定这个类 class Data public int int1 public int int2 public short short1 public long long1 我希望基本上能够做这样的
  • 在 Android Studio 中运行 Python 脚本 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在运行 Android Studio 2 2 3 我需要在开发过程中运行 Python 脚本来处理一些数据文件 最终的APK不需要
  • 向 NSScrollView 添加大量视图

    我正在尝试添加一个子视图 来自NSViewController 对于字典中的每个元素NSScrollView获得某种表格视图 但对单元格具有更大的灵活性 是否可以 以编程方式 放置例如100 个子视图彼此放在一起 因此您必须向下滚动NSSc
  • 更新回收视图中的单个项目。我正在使用分页库并想更新单个项目/行

    我使用提交列表将 pagedlist 值传递给适配器 当我更新单个项目时 请考虑我正在点击回收器视图中的提要的类似按钮 如何更新单个项目 我正在按照这个例子进行分页实现 https github com saquib3705 PagingL
  • SignalR 不解析传入服务器调用的 JsonSerializer

    J原始值 https github com SignalR SignalR blob master src Microsoft AspNet SignalR Core Json JRawValue cs https github com S
  • 实体管理器是否需要关闭每个查询?

    我将在一年内使用 JPA 作为数据库框架使用 Java 开发系统 每次查询时 我都不关闭EntityManager IMO的理解是JPA自动关闭实体管理器执行查询后 getSingleResult or 获取结果列表 如果没有那么垃圾收集会
  • 为什么 ob_start('ob_gzhandler') 会破坏这个网站?

    我有一个网站 如果存在 ob start ob gzhandler 则会在浏览器中抛出内容编码错误 如果我删除该语句 它就可以正常运行 该站点与许多其他站点使用相同的框架 服务器和托管包 无论声明是否在其中 它们都有效 该语句位于框架中 而
  • SendMessage WM_SETTEXT 到 TextBox 不会触发 TextChanged 事件

    我有代码获取文本框控件的句柄并使用 Windows API 来更改文本 更新文本时不会触发 TextChanged 事件 有没有办法使用 Windows API 触发 TextBox TextChanged 事件 Update 我认为该事件
  • Microsoft SQL Server 2008 主键的含义

    主键的概念对于SQL Server数据库引擎有什么意义 我的意思不是在 ID 列上创建的聚集 非聚集索引 我的意思是约束对象 主键 存在与否有什么关系吗 备择方案 更改表添加主键聚集 更改表创建聚集索引 这有什么不同吗 一般来说 KEY 是