比頁級鎖和表級鎖消耗更多的內存。 當在大量表中使用時,比頁級鎖和表級鎖更慢,因為他需要請求更多的所資源。 當需要頻繁對大部分數據做 GROUP BY 操作或者需要頻繁掃描整個表時,就明顯的比其它鎖更糟糕。 使用更高層的鎖的話,就能更方便的支持各種不同的類型應用程序,因為這種鎖的開銷比行級鎖小多了。 表級鎖在下列幾種情況下比頁級鎖和行級鎖更優越:
很多操作都是讀表。 在嚴格條件的索引上讀取和更新,當更新或者刪除可以用單獨的索引來讀取得到時:
UPDATE tbl_name SET column=value WHERE unique_key_col=key_value; DELETE FROM tbl_name WHERE unique_key_col=key_value; SELECT 和 INSERT 語句并發的執行,但是只有很少的 UPDATE 和 DELETE 語句。 很多的掃描表和對全表的 GROUP BY 操作,但是沒有任何寫表。 表級鎖和行級鎖或頁級鎖之間的不同之處還在于: 將同時有一個寫和多個讀的地方做版本(例如在MySQL中的并發插入)。也就是說,數據庫/表支持根據開始訪問數據時間點的不同支持各種不同的試圖。其它名有:時間行程,寫復制,或者是按需復制。