分享

约束与索引

 一杉一水 2015-03-04

 

 
http://www./thread-970607-1-1.html

 

 
唯一约束不能脱离索引而单独存在, oracle实现唯一约束的时候必须借助一个索引.
(可以这么理解, 一个字段上存在唯一索引, 当insert的时候, oracle怎么知道insert的值是否与现有的值冲突, 只能去现有的数据中查找, 为了查找更快, 
必须有一个索引, 这个索引可以是用户建好以后指定给oracle的, 如果用户没有建好索引, 那oracle会自动创建一个索引.)
要么你先创建一个普通索引, 然后alter table add constraint ... using index xxx;
要么你直接 alter table add constraint ...
从性能上来说,个人感觉, 唯一索引和唯一约束是一样的;
从数据库对象的依赖性上来说, 用using index的方式创建的约束可以独立删除, 同时保留原来的索引,
但是直接创建的约束, 在删除的时候会自动把对应的索引删除, 这个很可怕, 如果在生产环境上一个索引突然被删除, 后果是很严重的.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多