本文基于MySQL的数据库引擎InnoDB,通过本文了解:
1. 死锁。
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象。以下是一些示例。
更新时互相等待
#第一个事务
START TRANSACTION;
#第一步,更新1111这条数据
UPDATE test2 SET sum_count = sum_count + 1 WHERE id = '1111';
#第三步,更新2222这条数据
UPDATE test2 SET sum_count = sum_count + 1 WHE...
MySQL-幻读
本文基于MySQL的数据库引擎InnoDB,通过本文了解:
1. 幻读:在一个事务的两次查询中数据不一致。
上一篇了解了MySQL的不可重复读,但是有时候同一个事务中,前后两次查询显示数据有可能是不一致的,以下就为示例:
更新了其它事务中新增数据:
#第一个事务
START TRANSACTION;
#第一步,第二个事务插入前查询
SELECT * FROM test2;
#第五步,第二个事务插入后查询
SELECT * FROM test2;
#第六步,更新第...
MySQL-可重复读
本文基于MySQL的数据库引擎InnoDB,通过本文了解:
1. 可重复读。
首先,要了解的是,MySQL的事务默认隔离级别是:可重复读,即:在事务执行期间会锁定该事务以任何方式引用的所有行。
其它事务做更新时:
#第一个事务
START TRANSACTION;
#第一步,第二个事务更新前查询
SELECT * FROM test2;
#第四步,第二个事务更新后查询
SELECT * FROM test2;
#第六步,第二个事务提交后查询
SELECT * FROM test2;
...
字符与字节
我一直停留在很多年以前,还以为1个汉字顶2个英文,直到今天我把Javascript、Java、C#、MySQL全都试了一遍,才发现我一直停留在自己的幻想之中。
1. Javascript
2. Java
3. C#
4. MySQL
JavaScript语言采用Unicode字符集,但是只支持一种编码方法,JavaScript用的是UCS-2。但是UTF-16取代了UCS-2,或者说UCS-2整合进了UTF-16。所以,现在只有UTF-16,没有UCS-2。“?”这个字的长度为4个字节,Javascript...