YaMemory
YaMemory
采纳率55.6%
2016-03-07 02:32 阅读 2.7k

MySQL中什么是禁用唯一性检查?唯一性检查,唯一性约束条件,唯一性索引之间的区别是什么?

20

MySQL中,插入数据时会对数据进行唯一性检查。这种唯一性检验也会降低插入数据的速度。为了能优化插入记录的速度,可以在插入数据前禁用唯一性检查,等到插入数据完毕后在开启。。。我做了以下两次测试。在关闭了唯一性检查后为什么不能插入相同的数据????
测试1,先创建唯一性约束条件,再禁用唯一性检查(如图):图片说明
测试2,先创建唯一性索引,再禁用唯一性检查(如图):图片说明
两次测试中我都禁用了唯一性检查,为什么最后不能够插入相同的id 值呢?求大神解释一下,晚生在这谢谢了。。。。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

6条回答 默认 最新

  • 已采纳
    wojiushiwo945you 毕小宝 2016-03-07 05:51

    mysql的唯一性检查,其实这是mysql的一个bug,在它的官网上已经发表了,测试方法就是你给的这样的。
    官方说明unique_checks其实是没有效果的。原文链接为:http://bugs.mysql.com/bug.php?id=6357
    所以呢,楼主就不要纠结这个属性的作用了。

    点赞 评论 复制链接分享
  • oyljerry oyljerry 2016-03-07 05:47

    禁用以后,最好重启一下mysql等看看是否条件已经设置成功了

    点赞 评论 复制链接分享
  • wojiushiwo945you 毕小宝 2016-03-07 05:55

    我也测试了你的命令,的确是没有效果的。楼主求真务实的精神,值得称赞!
    只能说开源技术也是有缺陷的,这也是mysql不断再更新新版本的原因。

    点赞 评论 复制链接分享
  • WinsenJiansbomber Jimbo 2016-03-07 07:31

    表要纠结了,实用为王,过多的特性其实也就是一种负担。

    点赞 评论 复制链接分享
  • YaMemory YaMemory 2016-03-07 10:08

    图片说明

    点赞 评论 复制链接分享
  • YaMemory YaMemory 2016-03-07 10:08

    图片说明

    点赞 评论 复制链接分享

相关推荐