【发布时间】:2020-04-16 22:09:50
【问题描述】:
我有 6 列我想在其中应用复合唯一键以防止重复,这在性能方面是否安全?
考虑我们将对这 6 个复合键的行为执行 CRUD。
【问题讨论】:
-
SQL Server 没有“唯一键”的概念 - 您不需要创建主键来强制唯一性:这就是
UNIQUE INDEX的用途。跨度> -
就性能而言,这取决于您正在执行的操作、主机服务器的规格、数据规模(数百万、数十亿行?)以及您的实际索引创建。
-
最大数据更新为 100k,但该表可能有 1000 万条记录
-
首先,您需要将您的数据库拆分为 OLAP(用于单独的分析处理)或 OLTP(用于批量事务)。如果您想使用一个键,该键可以根据您提到的多个键来唯一标识行,您需要使用 SK(代理键)来唯一标识每一行。
-
@Dai
SQL Server doesn't have a concept of a "unique key"- dba.stackexchange.com/q/144/5203
标签: sql sql-server performance sql-server-2012 database-performance