2 yamemory YaMemory 于 2016.03.07 10:32 提问

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

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

6个回答

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.07 13:51
已采纳

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

wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.03.07 13:55

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

WinsenJiansbomber
WinsenJiansbomber   2016.03.07 15:31

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

YaMemory
YaMemory   2016.03.07 18:08

图片说明

YaMemory
YaMemory   2016.03.07 18:08

图片说明

YaMemory
YaMemory 这是重启后的结果,,并不是因为这个原因。。。
接近 2 年之前 回复
oyljerry
oyljerry   Ds   Rxr 2016.03.07 13:47

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

YaMemory
YaMemory ![图片说明](http://img.ask.csdn.net/upload/201603/07/1457345304_254527.png)。。重启以后依旧不行。。。。
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!