问题描述
你好,问一下汤姆团队。
我想确保对具有唯一 (column1,column2) 的表 (数百万行) 的约束,并在 (11,14,15) 中检查colump3。
有没有办法用约束来实现这一点?
最好的方法是什么?
它有什么性能影响?
我想确保对具有唯一 (column1,column2) 的表 (数百万行) 的约束,并在 (11,14,15) 中检查colump3。
有没有办法用约束来实现这一点?
最好的方法是什么?
它有什么性能影响?
专家解答
就像这样:
What performance effects does it have?
这取决于。约束可以帮助优化器找到更好的访问路径-例如,它知道c3 = 0不会返回任何行,因此如果查询具有此谓词,则可以完全跳过表。
create table t ( c1 int, c2 int, c3 int ); alter table t add unique ( c1, c2 ); alter table t add check ( c3 in ( 11, 14, 15 ) );
What performance effects does it have?
这取决于。约束可以帮助优化器找到更好的访问路径-例如,它知道c3 = 0不会返回任何行,因此如果查询具有此谓词,则可以完全跳过表。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




