mysql鎖和分割槽

2022-09-10 07:39:07 字數 827 閱讀 4184

mysql 鎖:

myisam 在執行查詢語句前,會自動涉及的所有表加讀鎖, 在執行增刪改操作前,會自動

給涉及的表加寫鎖

1.對myisam 表的讀操作(加讀鎖),不會阻塞其他程序對同一表的讀請求,但會阻塞對同一表的 寫請求。只有讀鎖釋放後,才會執行其他進行的寫操作

2. 對myisam 表的寫操作(加寫鎖),會阻塞其他程序對同一表的讀和寫操作,只有當寫鎖釋放後

才會執行其他程序的讀寫操作

總結: 讀鎖會阻塞寫,不會阻塞讀。 寫鎖會把讀和寫都阻塞

myisam : 寫優先, 適合讀

mysql 分割槽: range分割槽:

分割槽鍵是日期或是時間型別

經常執行包含分割槽鍵的查詢, mysql 可以很快的確定只有某乙個或某些分割槽需要掃瞄,

定期按分割槽範圍清理歷史資料

hash:分割槽

根據分割槽鍵的值把資料行儲存到表的不同分割槽

資料可以平均分布在各個分割槽中

hash分割槽的鍵值必須是乙個int型別的值,或是通過函式可以轉為int型別

list 分割槽:

按分割槽鍵取值的列表進行分割槽

同範圍分割槽一樣, 各分割槽的列表值不能重複

每一行資料必須能找到對應分割槽列表,否則資料插入失敗

資料歸檔:將乙個分割槽的資料放到另一張表中

1. 建立跟分割槽相同欄位的表(新錶)

2. alter table table1 exchange partition 分割槽1 with table 新錶;

解釋:將table1 表中分割槽1裡面的資料放到據新錶中

鎖和表分割槽

鎖可以分為,行鎖,表級鎖,死鎖。表級鎖有 行共享,行排他,共享鎖,排他鎖 檢視當前資料庫裡鎖的情況。select object id,session id,locked mode from v locked object 如果出現了鎖的問題,某個dml操作可能等待很久沒有反應。grant selec...

Oracle分割槽和鎖

表空間 是乙個或者多個資料檔案的集合,所有的資料物件都存放在表空間中,但主要存放的是表,所有叫表空間 分割槽表 當表中的資料不斷增大的時候,我們查詢資料會變慢,這時候我們要考慮把資料存放在多個檔案上,表分割槽後資料在邏輯上仍然是一張完整的表 只是將表中的資料在磁碟上存放多個檔案上,這樣我們查詢的時候...

mysql鎖的級別 mysql 鎖和各鎖級別

共享鎖 行級別 查 共享鎖的代號是s,是share的縮寫,共享鎖的鎖粒度是行或者元組 多個行 乙個事務獲取了共享鎖之後,可以對鎖定範圍內的資料執行讀操作。排它鎖 行級別 增刪改 排它鎖的代號是x,是exclusive的縮寫,排它鎖的粒度與共享鎖相同,也是行或者元組。乙個事務獲取了排它鎖之後,可以對鎖...