1、测试过程如下:

CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
事务1:                                                       事务2:
mysql> select * from test;                                            
+----+-------+
| id | name |
+----+-------+
| 1 | name1 |
+----+-------+
1 row in set (0.00 sec)  mysql> start transaction;                                              start transaction;
Query OK, 0 rows affected (0.00 sec) mysql> insert into test(name) values('name2');(成功)                               
                                                             insert into test(name)  values('name3'); (成功,和事务1之间没有阻塞)

     insert into test(name)  values('name3');(失败,因为和事务未commit的数据冲突了)
    ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
                                                                                                        commit;                        

       commit;
                                                   

2、分析:对于unique的insert,如果不同事务之间存在非unqiue冲突,则事务会等待冲突的事务提交,也就是等待锁。如果不存在冲突则能正在执行更新。

          mysql的某一列为unique属性时,会为该列建索引,所以该列不能太大。

因为大事务的执行时间较长,那么别的事务如果冲突了等待锁的事务也较长,那么事务会因为锁超时而造成整个数据库的吞吐量的降低。对于小事务可以建unique。

最新文章

  1. C#中如何调整图像大小
  2. 分布式系统理论基础 - 一致性、2PC和3PC
  3. response实现验证码图片
  4. Linux下动态库生成和使用
  5. 打死也不换系统?笑谈过气的Windows XP
  6. linux下多线程踩过的坑(不定更新)
  7. build.prop各种优化代码
  8. php获取当前文件绝对路径
  9. .net 企业管理系统快熟搭建框架
  10. Flask 扩展 Mail
  11. java iso8859 转utf8
  12. ISCSI
  13. redis目前最好用的客户端推荐
  14. PHP 合并有序数组
  15. Spark进阶之路-Standalone模式搭建
  16. [Big Data - Kafka] Kafka设计解析(四):Kafka Consumer解析
  17. react基础&JSX基础
  18. 数据仓库基础(十二)Informatica组件(2)
  19. BASIC-2_蓝桥杯_01字串
  20. Windows 8家长控制

热门文章

  1. Note3 :《集体智慧编程》用户相似度计算
  2. Linux搭建JDK、Tomcat安装及配置
  3. 高性能PHP框架thinkphp5.0.0 Beta发布-为API开发而设计
  4. NewBluePill源码学习
  5. IOS处理点空白处不自动失去焦点的问题
  6. Python学习笔记(五)——list和tuple
  7. 【CentOS】磁盘管理与vim编译器
  8. C# 先说IEnumerable,我们每天用的foreach你真的懂它吗?
  9. 如何将U盘内文件拷入VMware Linux CentOS6.5虚拟机
  10. 【BZOJ3669】[Noi2014]魔法森林 LCT