程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql 保護經常使用敕令

mysql 保護經常使用敕令

編輯:MySQL綜合教程

mysql 保護經常使用敕令。本站提示廣大學習愛好者:(mysql 保護經常使用敕令)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql 保護經常使用敕令正文


Analyze Table

MySQL 的Optimizer(優化元件)在優化SQL語句時,起首須要搜集一些相干信息,個中就包含表的cardinality(可以翻譯為“散列水平”),它表現某個索引對應的列包括若干個分歧的值——假如cardinality年夜年夜少於數據的現實散列水平,那末索引就根本掉效了。
我們可使用SHOW INDEX語句來檢查索引的散列水平:

SHOW INDEX FROM PLAYERS;

TABLE KEY_NAME COLUMN_NAME CARDINALITY
------- -------- ----------- -----------
PLAYERS PRIMARY PLAYERNO 14

由於此時PLAYER表中分歧的PLAYERNO數目遠遠多於14,索引根本掉效。
上面我們經由過程Analyze Table語句來修復索引:

ANALYZE TABLE PLAYERS;
SHOW INDEX FROM PLAYERS;
成果是:
TABLE KEY_NAME COLUMN_NAME CARDINALITY
------- -------- ----------- -----------
PLAYERS PRIMARY PLAYERNO 1000

此時索引曾經修復,查詢效力年夜年夜進步。

須要留意的是,假如開啟了binlog,那末Analyze Table的成果也會寫入binlog,我們可以在analyze和table之間添加症結字local撤消寫入。

Checksum Table

數據在傳輸時,能夠會產生變更,也有能夠由於其它緣由破壞,為了包管數據的分歧,我們可以盤算checksum(校驗值)。
應用MyISAM引擎的表會把checksum存儲起來,稱為live checksum,當數據產生變更時,checksum會響應變更。
在履行Checksum Table時,可以在最初指定選項qiuck或是extended;qiuck表現前往存儲的checksum值,而extended會從新盤算checksum,假如沒有指定選項,則默許應用extended。

Optimize Table

常常更新數據的磁盤須要整頓碎片,數據庫也是如許,Optimize Table語句對MyISAM和InnoDB類型的表都有用。
假如表常常更新,就應該按期運轉Optimize Table語句,包管效力。
與Analyze Table一樣,Optimize Table也能夠應用local來撤消寫入binlog。

Check Table

數據庫常常能夠碰到毛病,比方數據寫入磁盤時產生毛病,或是索引沒有同步更新,或是數據庫未封閉MySQL就停滯了。
碰到這些情形,數據便可能產生毛病:
Incorrect key file for table: ' '. Try to repair it.
此時,我們可使用Check Table語句來檢討表及其對應的索引。
比方我們運轉
CHECK TABLE PLAYERS;

成果是
TABLE OP MSG_TYPE MSG_TEXT
-------------- ----- -------- --------
TENNIS.PLAYERS check status OK

MySQL會保留表比來一次檢討的時光,每次運轉check table都邑存儲這些信息:

履行
SELECT TABLE_NAME, CHECK_TIME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'PLAYERS'
AND TABLE_SCHEMA = 'TENNIS';

成果是

TABLE_NAME CHECK_TIME
---------- -------------------
PLAYERS 2006-08-21 16:44:25

Check Table還可以指定其它選項:
UPGRADE:用來測試在更早版本的MySQL中樹立的表能否與以後版本兼容。
QUICK:速度最快的選項,在檢討各列的數據時,不會檢討鏈接(link)的准確與否,假如沒有碰到甚麼成績,可使用這個選項。
FAST:只檢討表能否正常封閉,假如在體系失落電以後沒有碰到嚴重成績,可使用這個選項。
CHANGED:只檢討前次檢討時光以後更新的數據。
MEDIUM:默許的選項,會檢討索引文件和數據文件之間的鏈接准確性。
EXTENDED:最慢的選項,會停止周全的檢討。

Repair Table

用於修復表,只對MyISAM和ARCHIVE類型的表有用。
這條語句異樣可以指定選項:
QUICK:最快的選項,只修復索引樹。
EXTENDED:最慢的選項,須要逐行重建索引。
USE_FRM:只要當MYI文件喪失時才應用這個選項,周全重建全部索引。

與Analyze Table一樣,Repair Table也能夠應用local來撤消寫入binlog。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved