成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL鎖表在那些情況中是不利的?

數據庫 MySQL
我們你今天主要向大家描述的是什么是MySQL鎖表,以及MySQL鎖表的實際應用,在什么情況下對于MySQL鎖表是不利的,以下就有詳細內容。

以下的文章主要是對MySQL鎖表的概念的介紹,以及介紹MySQL表鎖在什么設想的情況下就不利了,如果你對MySQL表鎖的相關內容感興趣的話,以下的文章就是主要內容介紹,望你在瀏覽之后會有所收獲。

MySQL鎖表

為了能有快速的鎖,MySQL除了 InnoDB 和 BDB 這兩種存儲引擎外,所有的都是用表級鎖(而非頁、行、列級鎖)。

對于 InnoDB 和 BDB 表,MySQL鎖表只有在指定用 LOCK TABLES 鎖表時才使用表級鎖。在這兩種表中,建議最好不要使用 LOCK TABLES,因為 InnoDB 自動采用行級鎖,BDB 用頁級鎖來保證事務的隔離。

如果數據表很大,那么在大多數應用中表級鎖會比行級鎖好多了,不過這有一些陷阱。

表級鎖讓很多線程可以同時從數據表中讀取數據,但是如果另一個線程想要寫數據的話,就必須要先取得排他訪問。正在更新數據時,必須要等到更新完成了,其他線程才能訪問這個表。

更新操作通常認為比讀取更重要,因此它的優先級更高。不過最好要先確認,數據表是否有很高的 SELECT 操作,而更新操作并非很‘急需’。

表鎖鎖在一個線程在等待,因為磁盤空間滿了,但是卻需要有空余的磁盤空間,這個線程才能繼續處理時就有問題了。這種情況下,所有要訪問這個出問題的表的線程都會被置為等待狀態,直到有剩余磁盤空間了。

MySQL表鎖在以下設想情況中就不利了:

一個客戶端提交了一個需要長時間運行的 SELECT 操作。

其他客戶端對同一個表提交了 UPDATE 操作,這個客戶端就要等到 SELECT 完成了才能開始執行。

其他客戶端也對同一個表提交了 SELECT 請求。由于 UPDATE 的優先級高于 SELECT,所以 SELECT 就會先等到 UPDATE 完成了之后才開始執行,它也在等待第一個 SELECT 操作。

下列所述可以減少表鎖帶來的資源爭奪:

讓 SELECT 速度盡量快,這可能需要創建一些摘要表。

啟動 mysqld 時使用參數 --low-priority-updates。這就會讓更新操作的優先級低于 SELECT。這種情況下,在上面的假設中,第二個 SELECT 就會在 INSERT 之前執行了,而且也無需等待第一個SELECT 了。

可以執行 SET LOW_PRIORITY_UPDATES=1 命令,指定所有的更新操作都放到一個指定的鏈接中去完成。

用 LOW_PRIORITY 屬性來降低 INSERT,UPDATE,DELETE 的優先級。

用 HIGH_PRIORITY 來提高 SELECT 語句的優先級。

從MySQL 3.23.7 開始,可以在啟動 mysqld 時指定系統變量 max_write_lock_count 為一個比較低的值,它能強制臨時地提高表的插入數達到一個特定值后的所有 SELECT 操作的優先級。它允許在 WRITE 鎖達到一定數量后有 READ 鎖。

當 INSERT 和 SELECT 一起使用出現問題時,可以轉而采用 MyISAM 表,它支持并發的SELECT 和 INSERT 操作。

當在同一個表上同時有插入和刪除操作時,INSERT DELAYED 可能會很有用。

當 SELECT 和 DELETE 一起使用出現問題時,DELETE 的 LIMIT 參數可能會很有用。

執行 SELECT 時使用 SQL_BUFFER_RESULT 有助于減短MySQL鎖表的持續時間.

可以修改源代碼 `mysys/thr_lock.c',只用一個所隊列。這種情況下,寫鎖和讀鎖的優先級就一樣了,這對一些應用可能有幫助。

【編輯推薦】

  1. MySQL 備份和其恢復機制原理簡述
  2. Mysql+php5+apache的安裝手記在linux下
  3. MySQL字符串值的實際應用
  4. 用MySQL 數字類型如何正確的轉換函數
  5. MySQL SHOW INDEX語法的實際應用

 

責任編輯:佚名 來源: 互聯網
相關推薦

2021-06-27 17:16:06

云安全云計算網絡安全

2010-05-31 12:31:42

MySQL建立索引

2010-03-11 14:46:49

無線交換機

2010-07-30 09:49:05

2025-02-10 09:58:48

2024-03-04 00:01:00

鎖表鎖行MySQL

2010-10-14 16:18:21

MySQL表鎖情況

2022-02-08 17:39:04

MySQL服務器存儲

2010-05-18 18:39:27

Mysql臨時表

2020-02-02 13:59:59

MySQL數據庫線程

2021-07-07 10:45:20

MySQL表級鎖MyISAM

2010-11-22 14:27:05

MySQL鎖表

2024-12-16 17:02:58

MySQLInnoDB數據庫

2020-02-06 10:02:45

MySQL數據庫全局鎖

2021-08-11 21:46:47

MySQL索引join

2024-04-03 09:50:33

MySQLMDL事務

2024-03-04 07:37:40

MySQL記錄鎖

2024-11-29 07:38:12

MySQL數據庫

2023-01-27 20:59:19

行鎖表鎖查詢

2010-07-02 10:47:20

SQL Server
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本成人在线播放 | 一级毛片免费视频 | 中文字幕在线视频观看 | 欧美一级免费 | 成年人网站免费视频 | 麻豆成人在线视频 | 日韩一区精品 | 99免费在线视频 | 欧美日韩在线精品 | www.色.com| 国产综合在线视频 | 精品国产欧美一区二区 | 欧美精品在线一区二区三区 | 亚洲成人久久久 | 欧美一区二区三区在线 | av日韩在线播放 | 天天成人综合网 | 91在线视频播放 | 国产三级在线观看播放 | 国产1区2区 | 天堂在线中文 | 日韩欧美一区二区三区免费看 | 亚洲福利| 日韩日韩日韩日韩日韩日韩日韩 | 国产成人小视频 | 羞羞在线观看视频 | 欧美精品乱码久久久久久按摩 | 亚洲国产精品一区二区第一页 | 久久久久久久国产 | 久久精品视频播放 | 亚洲国产成人在线观看 | 成在线人视频免费视频 | 国产有码| www.国产91 | 51ⅴ精品国产91久久久久久 | 日韩一区二区三区视频 | 国产高清免费视频 | 91视频进入 | 成人欧美一区二区三区白人 | 羞羞的视频在线观看 | 天天精品在线 |