sql - 为什么 RedShift 不允许键约束?

标签 sql amazon-redshift

RedShift 不允许键约束是否有特殊原因?请查看以下声明:

Uniqueness, primary key, and foreign key constraints are informational only; they are not enforced by Amazon Redshift. Nonetheless, primary keys and foreign keys are used as planning hints. and they should be declared if your ETL process or some other process in your application enforces their integrity.

这是由于速度还是其他什么原因?这其中一定有原因!

最佳答案

我认为主要原因是从数据加载性能的角度来看检查唯一性是不现实的。由于 Amazon Redshift 的架构旨在并行处理数据以进行横向扩展,因此加载的数据会分发到多个实例。因此,为了支持这些约束,它需要检查每行的实例之间的唯一性,由于 IO,这听起来非常慢。

关于sql - 为什么 RedShift 不允许键约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35758228/

相关文章:

java - 使用文本字段插入数据很困难(jdbc swing)

html - 在mysql中分别从另外两个表插入行到一个表中

node.js - 使用 NodeJs 异步查询 redshift 集群

amazon-redshift - 如何从Redshift获取表和列信息?

node.js - 用户需要什么角色权限才能获取 Amazon redshift DB 中的 server_version?

PHP PDO : Array in Update SQL WHERE IN () clause

sql - 已删除数据库 SQL Server 2012 中的对象

mysql - 插入选择查询

sql - 如何在 Redshift 中计算以 2 为底的对数

postgresql - 在 RedShift 表中存储数组的正确方法是什么?