MySQL效能引數詳解之Skip External

2022-10-06 01:24:09 字數 1094 閱讀 2247

mysql的配置檔案my.cnf中默程式設計客棧認存在一行skip-external-locking的引數,即「跳過外部鎖定」。根據mysql開發**的官方解釋,external-locking用於多程序條件下為myisam資料表進行鎖定。

如果你有多台伺服器使用同乙個資料庫目錄(不建議),那麼每台伺服器都必須開啟external locking;

引數解釋

當外部鎖定(external-locking)起作用時,每個程序若要訪問資料表,則必須等待之前的程序完成操作並解除鎖定。由於伺服器訪問資料表時經常需要等待解鎖,因此在單伺服器環境下external locking會讓mysql效能下降。所以在很多linux發行版的源中,mysql配置檔案中預設使程式設計客棧用了skip-external-locking來避免ext locking。

當使用了skip-external-locking後,為了使用myisamchk檢查資料庫或者修復、優化表,你必須保證在此過程中mysql伺服器沒有使用需要操作的表。如果沒有停止伺服器,也至少需要先執行

複製** **如下:

mysqladmin flush-tables

命令,否則資料表可能出現異常。

引數使用說明

如果是多伺服器環境,希望開啟external locking特徵,則注釋掉這一行即可

複製** **如下:

# skip-external-locking

如果是單伺服器環境,則將其禁用即可,使用如下語句

複製** **如下:

skip-external-locking

注意事項

在老版本的mysql中,此引數的寫法為:

複製** **如下:

skip-locking

如果在新版本mysql配置中依然使用此寫法,則可能出現:

[warning] 『–' is deprecated and will be removed in a future release. please use 『–skip-external-loc程式設計客棧king' instead.

錯誤。

本文標題: mysql效能引數詳解之skip-external-locking引數介紹

本文位址:

Sqlite 效能引數

sqlite 資料庫一般執行在嵌入式環境中,需要兼顧效能和硬體資源。sqlite 使用pragma命令在 sqlite 環境內控制各種環境變數和狀態標誌。乙個 pragma 值可以被讀取,也可以根據需求進行設定。主要介紹幾個在嵌入式開發中經常使用的關鍵引數。synchronouspragma 獲取或...

MYSQL的各種效能引數

敲擊show status 或show status like aborted connects 嘗試已經失敗的mysql伺服器的連線的次數。connections 試圖連線mysql伺服器的次數。created tmp tables 當執行語句時,已經被創造了的隱含臨時表的數量。delayed i...

Socket I O 模型的效能引數

伺服器 p4 17g xeon,記憶體768mb i o 模型 嘗試數 成功連線數 使用記憶體 k 未分頁記憶體池 cpu 線程式 吞吐率 byte s 阻塞 7000 1008 25632 36121 10 60 2016 2198148 非阻塞 7000 4011 4208 135123 95 ...