create unique index 和create index 的区别?
createuniqueindex是创建唯一索引,但前提是列上的数据不能有重复值。那么,在没有重复值的列上用creatindex创建的不也是唯一的索引吗?况且在有重复值的...
create unique index 是创建唯一索引,但前提是列上的数据不能有重复值。
那么,在没有重复值的列上用creat index 创建的不也是唯一的索引吗?
况且在有重复值的列上用create unique index 会出错,那为什么还要有unique呢?
那么在列上没有重复值的时候要不要用unique呢?效果不是都一样吗?难道用了会有神奇的效果吗? 展开
那么,在没有重复值的列上用creat index 创建的不也是唯一的索引吗?
况且在有重复值的列上用create unique index 会出错,那为什么还要有unique呢?
那么在列上没有重复值的时候要不要用unique呢?效果不是都一样吗?难道用了会有神奇的效果吗? 展开
4个回答
展开全部
create unique index 和create index区别为:创建不同、重复值不同、用途不同。
一、创建不同
1、create unique index:create unique index是约束性的,用于创建唯一索引。
2、create index:create index是非约束性的,用于创建普通索引。
二、重复值不同
1、create unique index:create unique index列上的数据不能有重复值。
2、create index:create index列上的数据可以有重复值。
三、用途不同
1、create unique index:create unique index用来检查数据的正确性。
2、create index:create index用来实现数据查询的优。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.所有理论技术都不是凭空出现,一定是要来解决某些问题而出的。假设这样业务场景:题主在做身份证录入系统,身份证号要求全国唯一。如果数据库是普通索引没有unique,在某种未知操作下导致录入了两个相同的身份证号(别说你逻辑控制的如何好,重复检验如何精密,不可能出现录入相同身份证号,可是,编程这么久让我相信了没什么不可能),怎么办?谁的责?(有重复身份证号会出现什么严重问题,请自行百度)。如果给身份证号列设置了唯一索引,在某种未知操作想要在数据库保存相同的身份证号时候,不好意思,数据库会报duplicate key exception,数据存不进去!这就是它的神奇效果,无论谁做任何骚操作,也别想在设置了unique的数列存入相同数据。
2.题主所问:在列上没有重复值的时候要不要用unique呢?从这个问题判断,题主没有工作经验。用不用某个技术一定需要结合了业务场景,没有业务场景就没有技术应用。我刚学编程的时候也很困惑,方法的void什么时候用?有返回结果的方法该返回什么?结合业务场景自然就知道了,哦这个方法是查询全班同学信息,应该返回list,那个方法在初始化参数,没有返回值用void……等等。那么,用不用unique也要结合具体业务场景,你的业务中某个字段需要全局唯一那就设置unique,不需要全局唯一那就普通索引。再退一步说,如果你的字段不在查询列的话,都不需要设置索引,因为索引也需要消耗资源。这些都要集合具体的业务场景。
2.题主所问:在列上没有重复值的时候要不要用unique呢?从这个问题判断,题主没有工作经验。用不用某个技术一定需要结合了业务场景,没有业务场景就没有技术应用。我刚学编程的时候也很困惑,方法的void什么时候用?有返回结果的方法该返回什么?结合业务场景自然就知道了,哦这个方法是查询全班同学信息,应该返回list,那个方法在初始化参数,没有返回值用void……等等。那么,用不用unique也要结合具体业务场景,你的业务中某个字段需要全局唯一那就设置unique,不需要全局唯一那就普通索引。再退一步说,如果你的字段不在查询列的话,都不需要设置索引,因为索引也需要消耗资源。这些都要集合具体的业务场景。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
unique index 令系统检测当索引创建时(如果数据已经存在)和每次添加数据时表中是否有重复值.如果插入或更新的值回导致重复的记录时将导致一个错误.
而非unique不具备这种功能
而非unique不具备这种功能
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询