mysql 資料庫的維護,優化

2021-09-20 17:25:20 字數 1343 閱讀 9403

●**表空間

當資料表大量刪除資料時,用optimize table進行空間**,原理時新建一張資料表,再將內容複製到新錶:

optimize table  "tablename";

innodb要用以下命令進行重建:

alter table table.name engine='innodb';

否則會出現錯誤:

table does not support optimize, doing recreate + analyze instead

●檢查資料表狀態

analyze table ,用來檢查表鍵是否正確。 

●check table 用來針對許多問題對錶進行檢查:

如下所示(下圖摘自mysql必知必會), checktable 發現和修復問題:

在 myisam 表上還對索引進行檢查。check table 支援一系列的用於 myisam 表的方式。

引數:changed 檢查自最後一次檢查以來改動過的表;

extended 執行最徹底的檢查, fast 只檢查未正常關閉的表, medium 檢查所有被刪除的鏈結並進行鍵檢驗; 

quick 只進行快速掃瞄;

如果 myisam 表訪問產生不正確和不一致的結果,可能需要用repair table 來修復相應的表。這條語句不應該經常使用,如果需要經常使用,可能會有更大的問題要解決。

●修改記憶體分配量和緩衝區大小等:

檢視mysql當前狀態:

show status;

檢視mysql當前設定:

show variables;

修改mysql當前設定:

大部分引數可以用set 直接修改當前引數,但會在服務重啟後失效,所以還是得將引數寫到my.cnf檔案中.

●顯示mysql執行緒資訊show processlist

這個command,state和info列應該是最重要的,顯示語句正在處於什麼狀態,方便分析.command狀態的數量不應該有很多,這會占用連線池,嚴重浪費系統資源.

●kill 程序:

kill 33;     --結束上圖id為33的程序

mysql資料庫維護 維護MySQL資料庫表

在本教程中,我們將向您介紹一些非常有用的語句,使您可以在mysql中維護資料庫表。mysql提供了幾個有用的語句,可以有效地維護資料庫表。這些語句使您能夠分析,優化,檢查和修復資料庫表。分析表語句 mysql查詢優化器是mysql伺服器的重要組成部分,為查詢建立了乙個最佳的查詢執行計畫。對於特定查詢...

mysql資料庫優化之索引的維護和優化

這裡是乙個工具,即pt duplicate key checker工具 用來檢查重複及冗餘的索引 用法如下 pt duplicate key checker uroot p密碼 h127.0.0.1 資料庫結構優化 那麼為什麼需要使用not null 定義欄位呢?因為innodb引擎的資料表,在遇到...

mysql資料庫維護

進行資料庫維護 analyze table 表名 檢查表鍵是否正確 check table 表1 表2 用來針對許多問題對錶進行檢查診斷啟動問題 help 顯示幫助 safe mode 裝載減去某些最佳配置的伺服器 verbose 顯示全文本訊息 version 顯示版本資訊然後退出錯誤日誌 日誌檔...