当前位置: 首页 > 面试题库 >

SQL Server分区-唯一索引错误

舒阳州
2023-03-14
问题内容

我有一个按TRANSACTION_DATE_TIME分区的表。

表中有一列:ID。

我想为分区方案上的ID创建唯一索引:

CREATE UNIQUE NONCLUSTERED INDEX [IX_ID_ON_PS_DATETIME] ON [CRD].[TRANSACTION] 
(
    [ID] ASC
) ON [PS_DATETIME_WEEKLY]([TRANSACTION_DATE_TIME])

但是SQL表示“唯一索引的分区列必须是索引键的子集”。

我真的不需要此索引中的TRANSACTION_DATE_TIME列。

如何在不使用TRANSACTION_DATE_TIME列的情况下创建索引?


问题答案:

或者你创建 -partitioned索引,或者您 HAVE 包括分区键进入这样的分区索引:

分区索引

CREATE UNIQUE NONCLUSTERED INDEX [IX_ID_ON_PS_DATETIME] ON [CRD].[TRANSACTION] 
(
    [ID] ASC,
    TRANSACTION_DATE_TIME
) ON [PS_DATETIME_WEEKLY]([TRANSACTION_DATE_TIME])

或者

非分区索引

CREATE UNIQUE NONCLUSTERED INDEX [IX_ID_ON_PS_DATETIME] ON [CRD].[TRANSACTION] 
(
    [ID] ASC
) ON PRIMARY


 类似资料:
  • 我做错了什么?我应该使用吗? 用于允许推断部分唯一索引的index_predicate。可以推断出满足谓词的任何索引(实际上不必是部分索引)。遵循创建索引格式。https://www.PostgreSQL.org/docs/9.5/static/sql-insert.html

  • 以下两者之间有区别吗: 以及: 在这两种情况下,名称是否唯一?索引唯一时意味着什么? 编辑:Postgres是唯一的约束,而索引没有回答我的问题。它考虑了FK的情况。我的问题与FK无关。我只想知道在这个例子中,这两个操作是否等价,其中不涉及FK。

  • CreateIndexes 根据struct中的tag来创建索引 CreateUniques 根据struct中的tag来创建唯一索引

  • 问题内容: 就性能而言,MySQL唯一索引和非唯一索引有什么区别? 假设我要在2列的组合上创建索引,并且该组合是唯一的,但是我创建了一个非唯一的索引。这会对MySQL使用的性能或内存产生重大影响吗? 同样的问题, 主 键和 唯一 索引之间有区别吗? 问题答案: UNIQUE和PRIMARY KEY是 约束 ,而不是索引。尽管大多数数据库通过使用索引来实现这些约束。除了索引之外,约束的额外开销也微不

  • 我构建了一个REST服务,发现使用Gson从ObjectId生成的JSON字符串的格式与Spring-Boot生成的格式不同。如果我以GSON格式将现有文档的_id字段的ObjectId发送到REST服务,并使用MongoRepository的save函数将其保存到集合中,即使在这样的字段上设置了唯一的索引,仍会插入具有duplicated_id的新文档。但是,如果我以spring-boot生成的

  • Liquibase文件如下: 数据库更改日志: 我在启动spring boot应用程序时添加唯一约束时遇到以下错误 迁移更改集失败 /db/changelog/changes/1.create-account-balance-table.yml::1::roran:原因:liquibase.exception.数据库异常: ERROR:语法错误在或接近PARTITION位置: 93[失败SQL:(