
database
ponyW
这个作者很懒,什么都没留下…
展开
-
乐观锁与悲观锁——解决并发问题
引言为什么需要锁(并发控制)? 在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有: 丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看...转载 2018-10-18 17:29:17 · 219 阅读 · 0 评论 -
Mysql锁机制--索引失效导致行锁变表锁
InnoDB默认的行锁可以使得操作不同行时不会产生相互影响、不会阻塞,从而很好的解决了多事务和并发的问题。但是,那得基于一个前提,即 Where 条件中使用上了索引;反之,如果没有使用上索引,则是全表扫描、全部阻塞。本文就以实际例子来演示这种情景。1 准备数据1.1 建表DROP TABLE IF EXISTS employee;CREATE TABLE IF NOT EXISTS...转载 2018-10-18 17:27:02 · 3334 阅读 · 1 评论 -
由防火墙导致的数据库空闲连接断开问题
问题描述公司一个新项目上线,处于试运行阶段,这个项目虽然是外网可访问的,故部署在了DMZ区,但试运行阶段只给了公司内少部分员工地址和账号(其中包括一些领导),故访问量很小,但项目还是挺重要的。试运行阶段中,项目应用日志中不定期会报异常,尤其是在刚上午刚开始使用时,还有空闲一段时间后再次使用时,具体异常如下:ERROR [com.alibaba.druid.util.JdbcUtils]...转载 2018-10-24 10:15:05 · 1828 阅读 · 0 评论 -
sql调优实践(mysql)
首先来创建表--学生表DROP TABLE IF EXISTS `student`;CREATE TABLE `student` ( `id` int(11) NOT NULL, `name` varchar(10) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;--课程表D...原创 2018-11-21 10:40:37 · 184 阅读 · 0 评论