1. mysql> show status like 'table%'; mysql
2. +-----------------------+-------+ web
3. | Variable_name | Value | sql
4. +-----------------------+-------+ 数据库
5. | Table_locks_immediate | 2979 | 数据结构
6. | Table_locks_waited | 0 | 并发
1. Lock tables orders read local, order_detail read local; 性能
2. Select sum(total) from orders; spa
3. Select sum(subtotal) from order_detail; 线程
4. Unlock tables; 设计
2.三、并发插入
Myisam也支持查询和插入同时进行的并发操做:存储引擎有一个系统变量concurrent_insert, 专门控制并发插入的行为。值为 0 1 2
concurrent_insert == 0 :不容许并发的插入
concurrent_insert == 1 :(默认值1)若是该表没有空洞(表的中间没有被删除的行),容许边读边插入。
concurrent_insert == 2 :不管有没有空洞都运行在表的末尾插入数据
2.四、锁调度
Myisam的读写操做是互斥的,读写操做是串行的。
若是一个进程请求表的读锁,同时另外一个线程请求表的写锁,那么写的进程会先得到锁,就算是读的进程先到锁的等待队列,若是有写进程
那么也是写进程得到锁,由于mysql默认认为写进程比读的进程更加剧要。 能够经过一些设置来调节这些级别:
3、InnoDB存储引擎
InnoDB和Myisam最大的不一样就是
一、事物支持
二、行级锁
3.一、事物以及其的属性
隔离级别
|
读数据一致性
|
脏读
|
不可重复读
|
幻读
|
未提交读
|
最低级别
|
是
|
是
|
是
|
已提交读
|
语句级 |
否
|
是
|
是
|
可重复读
|
事物级 |
否
|
否
|
是
|
可序列化
|
最高级别(事物级)
|
否
|
否
|
否
|