当拥有身份列不是一个好主意时?

2023-11-21

在仅需要 1 列作为键以及该列中的值的表中can是整数,当你不应该使用标识字段时?

相反,在同一个表和列中,您什么时候会手动生成其值并且不会为每个记录使用自动生成的值?

我猜想当表中有大量插入和删除时就会出现这种情况。我对吗?还有哪些其他情况?


如果您已经选择了代理方主键大崩溃那么我找不到不使用身份密钥的单一原因。通常的替代方案是 guid(它们有很多缺点,主要是大小和随机性)和应用程序层生成的密钥。但是在应用程序层中创建代理键比看起来要困难一些,而且也不涵盖非应用程序相关的数据访问(即批量加载、导入、其他应用程序等)。一个特殊情况是分布式应用程序,此时 guid 甚至顺序 guid 可以提供站点 id + 身份密钥的更好替代方案。

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

当拥有身份列不是一个好主意时? 的相关文章

  • 将子查询的结果插入表中并带有常量

    相关表格的概要如下 我有一个表 我们称之为联接 它有两列 都是其他表的外键 我们将这两列称为 userid 和buildingid 因此 join 看起来像 join userid buildingid 我基本上需要在这个表中插入一堆行 通
  • 从 SQL Server 2012 查询结果中减去小时数

    我正在 SQL Server 2012 Management Studio 中的警报系统信号自动化平台数据库上运行查询 但遇到了一些问题 我的查询运行得很好 但我无法将结果细化到我想要的水平 我正在选择一些格式为的列DATETIME 我只想
  • SQL Server中主键和唯一索引的区别[重复]

    这个问题在这里已经有答案了 我的公司目前正在重写我们最近获得的一个应用程序 我们选择使用 ASP net mvc4 来构建这个系统 并使用实体框架作为我们的 ORM 我们收购的公司的前任所有者非常坚定地要求我们使用他们的旧数据库 并且不对其
  • 如何加速我的 Perl 程序?

    这确实是两个问题 但它们非常相似 为了简单起见 我想我应该把它们放在一起 Firstly 给定一个已建立的 Perl 项目 除了简单的代码优化之外 还有哪些不错的方法可以加速它 Secondly 用Perl从头开始编写程序时 有哪些好的方法
  • INFORMATION_SCHEMA 与 sysobjects

    在 SQL Server 中 INFORMATION SCHEMA 和 sysobjects 之间有什么区别 其中一个是否比另一个提供更多信息 或者它们通常用于不同的用途 sysobjects 与 sys objects 相同吗 如果不是
  • SQL Server 之间

    我有一个表 其中有年 月和一些数字列 Year Month Total 2011 10 100 2011 11 150 2011 12 100 2012 01 50 2012 02 200 现在 我想要SELECT2011 年 11 月至
  • 插入后触发更新表列?

    在同一个表中添加任何记录后 我需要更新表中的列 这是我的sql代码 CREATE TRIGGER dbo EmployeeInsert ON dbo APP Employees AFTER INSERT AS BEGIN SET NOCOU
  • 如何防止 SQL Server 在导入数据时去除前导零

    A data file被导入到SQL Server桌子 数据文件中的一列是文本数据类型 该列中的值只能是整数 SQL Server 数据库中目标表中的相应列的类型为varchar 100 但在数据导入后 SQL Server 会存储以下值
  • 每个存储桶的最大沙发底座视图数

    假设存储桶中有大量数据 gt 100GB gt 100M 文档 gt 12 种文档类型 并且假设每个视图仅适用于一种文档类型 那么每个存储桶有多少视图就太多了 或者以另一种方式问 在什么时候应该将某些文档类型拆分到单独的存储桶中 以节省处理
  • 浏览器如何异步执行Javascript并渲染

    这是jsfiddle上的代码
  • 由于内容不可压缩,谷歌浏览器中出现了新的复合层

    当 chrome profiler 说 图层是单独合成的 因为它无法被挤压 时 它到底意味着什么 我正在对我的 html 进行更改 并在相对 div 内引入了一个固定位置 div 并给出了will change transform在上面 完
  • 如何使用 Java2D 创建硬件加速图像?

    我正在尝试创建一个快速图像生成器 它可以执行大量 2d 转换和形状渲染 因此我尝试使用 BufferedImage 然后获取 Graphics2D 对象来执行所有绘图 我现在主要关心的是 make 速度非常快 所以我创建一个像这样的 Buf
  • 是否可以自动化 SQL Server 2008 分析器?

    有一个post https stackoverflow com questions 488020 what is your most useful sql trick to avoid writing more code关于有用的 SQL
  • 在单个更新语句上使用事务

    我在工作中为一些 SP 配音 我发现编写代码的人在单个更新语句上使用了事务 如下所示 begin transaction single update statment update table whatever with whatever
  • 是否可以使用“WHERE”子句来选择SQL语句中的所有记录?

    晚上好 我很好奇是否可以在 SQL 语句中创建一个 WHERE 子句来显示所有记录 下面一些解释 随机 SQL 语句 Java JSP示例 正常情况 String SqlStatement SELECT FROM table example
  • 如何使用资源模块来衡量函数的运行时间?

    我想使用Python代码测量函数的CPU运行时间和挂钟运行时间 此处建议资源模块 如何以 Python 代码 不是从终端 的形式分别测量函数的 CPU 运行时间和挂钟运行时间 https stackoverflow com q 192046
  • Java中精确的时间测量

    Java 提供了两种获取当前时间的方法 System nanoTime and System currentTimeMillis 第一个给出的结果以纳秒为单位 但实际精度比这要差得多 许多微秒 JVM 是否已经为每台特定机器提供了最佳的价值
  • SQL Server 转换选择一列并将其转换为字符串

    是否可以编写一条从表中选择列并将结果转换为字符串的语句 理想情况下 我希望有逗号分隔的值 例如 假设 SELECT 语句看起来像这样 SELECT column FROM table WHERE column lt 10 结果是一列包含值的
  • SQL Server 差异工具

    在一个团队中工作时 人们很容易修改开发 SQL Server 表并忘记它 或者准备部署更改但必须等待部署 这使得我们的开发表和活动表不一致 从而在推送存储过程时导致问题 是否有一个工具可以让我输入 SPROC 名称并让它检查开发数据库和实时
  • 如何找出我的 MS SQL Server 排序规则是什么?

    是否有我可以执行的 SQL 来找出答案 服务器默认排序规则 select serverproperty collation 哪个是相同的 select databasepropertyex master collation Check 服务

随机推荐

  • SQL Server 和 REAL 数据类型的舍入问题

    在 SQL Server 2008 中舍入时 我看到一些奇怪的行为 给出以下代码 DECLARE Value REAL SELECT Value 35 SELECT ROUND Value 1 我预计该值为 0 4 但它输出为 0 3 我必
  • Android Facebook 单点登录 - 可以使用多个密钥哈希吗?

    我们正在为我们的一款 Android 应用程序使用 Facebook SSO 单点登录 它运行良好 只是我们有 3 名开发人员使用调试密钥构建应用程序 然后使用我们为市场签名的发布密钥 有没有什么方法可以让 facebook SSO 使用多
  • new BigInteger(String) 性能/复杂性

    我想知道性能 复杂 of 构造大整数对象与new BigInteger String 构造函数 考虑以下方法 public static void testBigIntegerConstruction for int exp 1 exp l
  • 使用变量加载数据内文件

    我试图使用 LOAD DATA INFILE 作为存储过程 但似乎无法完成 然后我尝试了将代码嵌入到应用程序本身的常用方法 如下所示 conn new MySqlConnection connStr conn Open MySqlComma
  • jq 读取 .txt 文件并将值写入 json 文件

    我想用jq解析一个 txt包含国家 地区代码列表的文件 并将它们写入 JSON 对象中的值 这是我到目前为止所拥有的 cat myfile json jq R f test id txt select country country tes
  • 单词混淆算法

    给定一个混乱的单词 即 ofbaor 如何解读字母以创建一个真正的单词 即 foobar 我可以看到这有几种方法 我想我知道如何在 NET 中做到这一点 但我很好奇其他一些解决方案是什么样的 总是很高兴看到我的解决方案是否是最佳的 这不是家
  • netcat 的新行问题 [已关闭]

    Closed 这个问题是无关 目前不接受答案 我正在使用下面的命令将一些字符串发送到 udp 侦听服务器 回声 A 192 168 192 168 数控 u 192 168 2 1 1234 但服务器在回显字符串中出现尾随 n 我也尝试过下
  • 无法安装适用于 AMD 处理器的 Android 仿真器管理程序驱动程序

    我无法安装适用于 AMD 处理器的 Android 仿真器管理程序驱动程序 需要注意的是 虚拟化是启用的 Emulator Process for AVD was killed运行代码时显示Visual Studio尝试在 Android
  • 睡眠直到特定时间/日期

    我希望我的 bash 脚本休眠到特定时间 所以 我想要一个像 sleep 这样的命令 它不需要间隔 但有一个结束时间 并一直睡眠到那时 at 守护进程不是解决方案 因为我需要阻止正在运行的脚本直到某个日期 时间 有这样的命令吗 正如 Out
  • 如何使用 has_many :through 和 Honor :conditions 创建新记录?

    假设我有一门课程 学生可以通过会员身份注册 例如课程和学生的 has and belongs to many 关系 有些会员资格是针对只是旁听课程的学生 不是为了学分等 因此 class Course lt ActiveRecord Bas
  • 如何在 Angular 5 的纯管道中使用 HTTP 调用

    我正在创建一个管道来将一种货币价值转换为另一种货币价值 我正在进行 HTTP 调用来转换值 Pipe name currencyConverter export class CurrencyConverterPipe implements
  • 测试场景和测试用例有什么区别?

    我对测试场景和测试用例有点困惑 它们之间有什么区别 假设我必须测试一盒火柴 我说的对吗 以下是测试场景的示例 盒子里能装 x 根火柴吗 假设盒子是关闭的 我用力摇晃它 火柴还在盒子里吗 您能给我测试场景和测试用例的示例吗 Example 您
  • MySQL的不同引号

    我对 MySQL 有点陌生 只是想知道它们之间有什么区别 当我在查询中使用它们时 用 你可以写 mysql 变量名 用 你写mysql变量值 例如 SELECT FROM test WHERE x 1
  • 如何使用 Inno Setup 安装 Windows 服务?

    我编写了一个批处理脚本 在使用 Inno Setup 进行安装后执行 问题是我有以下命令行用于创建服务 sc create MySQL start auto DisplayName MySQL binPath C MyApp MySQL 5
  • 检查 Cypress 中的单选按钮

    我对 Javascript 非常陌生 这是我使用 Cypress 的第二周 所以我需要帮助来单击单选按钮 我总是从赛普拉斯那里收到错误 我试图检查的元素如下所示
  • 错误代码:1406。列数据太长 - MySQL

    错误代码 1406 数据对于列来说太长 CREATE TABLE TEST idTEST INT NOT NULL TESTcol VARCHAR 45 NULL PRIMARY KEY idTEST Now Insert一些价值观 INS
  • 在 django 中格式化未修饰的电话号码?

    我有一个数据库 其中包含完整的电话号码作为字符串 它们的格式都类似于 1112223333 我想在我的 django 模板中将其显示为 111 222 3333 我知道我能做到 n contacts objects get name nam
  • 针对 Web 格式化 Python 代码

    直到最近 我使用如下内容将 Python 代码 空格很重要 发布到 blogspot com div table border 0 width 100 tbody tr td pre style font family monaco my
  • 如何将字符串数据发送到 UIButton 标签?

    有什么方法可以将字符串值发送到UIButton标签 我知道tag is Int输入但我需要发送string value let myButton UIButton let button UIButton button tag 123 ret
  • 当拥有身份列不是一个好主意时?

    在仅需要 1 列作为键以及该列中的值的表中can是整数 当你不应该使用标识字段时 相反 在同一个表和列中 您什么时候会手动生成其值并且不会为每个记录使用自动生成的值 我猜想当表中有大量插入和删除时就会出现这种情况 我对吗 还有哪些其他情况