【问题标题】:What is the use of primary key when non unique values can be entered in the database?当可以在数据库中输入非唯一值时,主键有什么用?
【发布时间】:2019-09-11 15:21:06
【问题描述】:

当链接HERE中提供的答案中提到的非唯一值可以在数据库中输入时,主键有什么用处?

【问题讨论】:

  • 主键必须是唯一的。其他列可以是非唯一的。我不知道主键可以是非唯一的任何数据库。如果您能够创建非唯一主键,请提供可验证的代码。
  • 检查我提供的链接。在已验证答案的底部,您会看到这一行。
  • 主键是在创建表时指定的,以后无法更改。尽管有名称,但主键不是唯一的。它只是定义数据的排序顺序以最佳方式处理范围查询。您可以在表中插入许多具有相同主键值的行。在我提供的链接上检查这个
  • 是的,显然这个数据库可以有非唯一的主键。这是我在快速谷歌搜索后找到的链接,我希望能解释主键的用途。 medium.com/@f1yegor/clickhouse-primary-keys-2cf2a45d7324
  • 谢谢,如果你能对本文所说的内容有所了解,这个答案看起来会更清楚

标签: database primary-key clickhouse


【解决方案1】:

它需要暂时忘记关系数据库的世界及其约束和命令。

ClickHouse 中的主键定义了应如何存储数据以快速访问它们,它不用于识别具体的“实体”。

换句话说,它描述了排序数据中的稀疏索引 - 看这篇文章Primary Keys and Indexes in Queries

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多