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.一、事物以及其的屬性
隔離級別
|
讀數據一致性
|
髒讀
|
不可重複讀
|
幻讀
|
未提交讀
|
最低級別
|
是
|
是
|
是
|
已提交讀
|
語句級 |
否
|
是
|
是
|
可重複讀
|
事物級 |
否
|
否
|
是
|
可序列化
|
最高級別(事物級)
|
否
|
否
|
否
|