SQL Server 2008 查找丢失的行 [重复]
Posted
技术标签:
【中文标题】SQL Server 2008 查找丢失的行 [重复]【英文标题】:SQL Server 2008 finding missing rows [duplicate] 【发布时间】:2013-02-19 20:01:24 【问题描述】:我有一个巨大的数据库,特别是一个表缺少行。我知道这是真的,但我需要找到差距并展示出来。主键是序号列。我需要显示实际缺少的序列号。此表有 76,054,525 行数据。
更新,序列号由我们的软件提供,每一个都代表一个唯一的“播放”记录。我们的软件不允许播放序列号中的间隙。任何差距都会丢失数据。
【问题讨论】:
进行自我加入并找到NULL
?
这是一个类似的问题/答案:***.com/questions/1057389/…
@MichaelFredrickson 你删除了拥抱...
@bluefeet 有人讨厌拥抱。
为什么需要显示缺失的序列号?你为什么在乎?
【参考方案1】:
这是一个差距和孤岛问题,很多人都写过如何解决这个问题。例如,Itzik Ben-Gan 在 SQL Server MVP Deep Dives 一书中的chapter 5 中介绍了它
但是,您为什么担心身份列中的空白?那是自然发生的事情,无法避免。你可以在这里阅读更多信息:http://sqlity.net/en/792/the-gap-in-the-identity-value-sequence/
【讨论】:
@billinkc,我自己只是在进行编辑以添加 Itziks 书(章节)。感谢您改进我的回答。 你偷了我的答案,所以这是我能做的至少;)以上是关于SQL Server 2008 查找丢失的行 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 2008 R2:查找 column2 值存在于 column1 中的行
从 excel 导入数据时防止 SQL Server 2008 中的行重复