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

MySQL鎖表簡介

數據庫 MySQL
為了能有快速的鎖,MySQL除了InnoDB和BDB這兩種存儲引擎外,所有的都是用表級鎖,但是表鎖也其一定的局限性。

MySQL鎖表相信大家都不陌生,下面就為您介紹一些和MySQL鎖表方面的知識,供您參考,如果您對MySQL鎖表方面感興趣的話,不妨一看。

MySQL鎖表

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

對于InnoDB和BDB 表,MySQL只有在指定用 LOCK TABLES 鎖表時才使用表級鎖。在這兩種表中,建議***不要使用 LOCK TABLES,因為InnoDB自動采用行級鎖,BDB 用頁級鎖來保證事務的隔離。
如果數據表很大,那么在大多數應用中表級鎖會比行級鎖好多了,不過這有一些陷阱。
表級鎖讓很多線程可以同時從數據表中讀取數據,但是如果另一個線程想要寫數據的話,就必須要先取得排他訪問。正在更新數據時,必須要等到更新完成了,其他線程才能訪問這個表。
更新操作通常認為比讀取更重要,因此它的優先級更高。不過***要先確認,數據表是否有很高的 Select 操作,而更新操作并非很‘急需’。
表鎖在一個線程在等待,因為磁盤空間滿了,但是卻需要有空余的磁盤空間,這個線程才能繼續處理時就有問題了。這種情況下,所有要訪問這個出問題的表的線程都會被置為等待狀態,直到有剩余磁盤空間了。

表鎖在以下設想情況中就不利了:
一個客戶端提交了一個需要長時間運行的 Select 操作。
其他客戶端對同一個表提交了 Update 操作,這個客戶端就要等到 Select 完成了才能開始執行。
其他客戶端也對同一個表提交了 Select 請求。由于 Update 的優先級高于 Select,所以 Select 就會先等到 Update 完成了之后才開始執行,它也在等待***個 Select 操作。

下列所述可以減少表鎖帶來的資源爭奪:
讓 Select 速度盡量快,這可能需要創建一些摘要表。
啟動 mysqld 時使用參數 --low-priority-updates。這就會讓更新操作的優先級低于 Select。這種情況下,在上面的假設中,第二個 Select 就會在 Insert 之前執行了,而且也無需等待***個Select 了。
可以執行 SET LOW_PRIORITY_UpdateS=1 命令,指定所有的更新操作都放到一個指定的鏈接中去完成。詳情請看“14.5.3.1 SET Syntax”。
用 LOW_PRIORITY 屬性來降低 Insert,Update,Delete 的優先級。
用 HIGH_PRIORITY 來提高 Select 語句的優先級。詳情請看“14.1.7 Select Syntax”。
從MySQL 3.23.7 開始,可以在啟動 mysqld 時指定系統變量 max_write_lock_count 為一個比較低的值,它能強制臨時地提高表的插入數達到一個特定值后的所有 Select 操作的優先級。它允許在 WRITE 鎖達到一定數量后有 READ 鎖。
當 Insert 和 Select 一起使用出現問題時,可以轉而采用 MyISAM 表,它支持并發的Select 和 Insert 操作。
當在同一個表上同時有插入和刪除操作時,Insert DELAYED 可能會很有用。詳情請看“14.1.4.2 Insert DELAYED Syntax”。
當 Select 和 Delete 一起使用出現問題時,Delete 的 LIMIT 參數可能會很有用。詳情請看“14.1.1 Delete Syntax”
執行 Select 時使用 SQL_BUFFER_RESULT 有助于減短鎖表的持續時間.詳情請看“14.1.7 Select Syntax”。
可以修改源代碼 `mysys/thr_lock.c',只用一個所隊列。這種情況下,寫鎖和讀鎖的優先級就一樣了,這對一些應用可能有幫助。

以下是MySQL鎖的一些建議:
只要對同一個表沒有大量的更新和查詢操作混在一起,目前的用戶并不是問題。
執行 LOCK TABLES 來提高速度(很多更新操作放在一個鎖之中比沒有鎖的很多更新快多了)。將數據拆分開到多個表中可能也有幫助。
當MySQL碰到由于鎖表引起的速度問題時,將表類型轉換成InnoDB或 BDB 可能有助于提高性能。 

 

 

【編輯推薦】

詳解MySQL數據表類型

MySQL字段中的枚舉

詳解MySQL外鍵設置

MySQL添加字段和刪除字段

深入探討MySQL鎖機制

 

責任編輯:段燃 來源: 互聯網
相關推薦

2011-08-18 16:30:10

Oracle鎖表查詢kill進程

2024-11-29 07:38:12

MySQL數據庫

2025-02-10 09:58:48

2020-10-20 13:50:47

MySQL數據庫

2010-05-24 12:50:59

MySQL表級鎖

2024-03-04 00:01:00

鎖表鎖行MySQL

2018-07-31 10:10:06

MySQLInnoDB死鎖

2024-04-10 14:27:03

MySQL數據庫

2022-07-20 08:06:57

MySQL表鎖Innodb

2011-03-30 13:44:45

MySQL數據庫鎖機制

2022-10-24 00:33:59

MySQL全局鎖行級鎖

2010-10-14 16:18:21

MySQL表鎖情況

2024-11-13 15:29:08

MySQL技術索引

2021-06-26 08:09:21

MySQL不停機不鎖表

2024-10-08 09:35:23

2010-11-19 16:03:20

Oracle分析表

2010-05-31 15:49:29

MySQL臨時表

2023-11-06 08:35:08

表鎖行鎖間隙鎖

2020-02-06 10:02:45

MySQL數據庫全局鎖

2021-07-07 10:45:20

MySQL表級鎖MyISAM
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产乱码精品一区二区三区中文 | 亚洲国产成人精品久久 | 久一精品| 久久久久久久国产精品影院 | 黄色一级特级片 | 久久中文高清 | 日韩视频―中文字幕 | 精品一区二区免费视频 | 天色综合网 | 日韩精品久久一区二区三区 | 在线播放中文字幕 | 国产黄色大片在线免费观看 | 本道综合精品 | 久久久久国产一区二区三区四区 | 欧美福利 | 97成人精品 | 中文字幕在线观看一区二区 | 草久久 | 亚洲精品日韩欧美 | 欧美精品欧美精品系列 | 毛片软件 | 久久av一区 | 国产亚洲一区二区三区 | 国产精品欧美一区二区三区不卡 | 欧美一级片免费看 | 日韩欧美专区 | 伊人久久综合影院 | 久久久亚洲一区 | 精品国产第一区二区三区 | a在线观看 | 欧美成人精品一区二区三区 | 国产精品国产三级国产aⅴ浪潮 | 国产精品伦理一区二区三区 | 1区2区3区视频 | 国产精品视频500部 a久久 | 精品久久香蕉国产线看观看亚洲 | 97精品超碰一区二区三区 | 日韩一区二区三区在线看 | 午夜不卡福利视频 | 亚洲一区av | 国产一级电影在线观看 |