成熟丰满熟妇高潮XXXXX,人妻无码AV中文系列久久兔费 ,国产精品一国产精品,国精品午夜福利视频不卡麻豆

您好,歡迎來到九壹網(wǎng)。
搜索
您的當前位置:首頁MySql分析整理命令_MySQL

MySql分析整理命令_MySQL

來源:九壹網(wǎng)

bitsCN.com

MySql分析整理命令

Analyze Table

MySQL 的Optimizer(優(yōu)化元件)在優(yōu)化SQL語句時,首先需要收集一些相關(guān)信息,其中就包括表的cardinality(可以翻譯為“散列程度”),它表示某個索引對應(yīng)的列包含多少個不同的值——如果cardinality大大少于數(shù)據(jù)的實際散列程度,那么索引就基本失效了。

我們可以使用SHOW INDEX語句來查看索引的散列程度:

SHOW INDEX FROM PLAYERS;

TABLE KEY_NAME COLUMN_NAME CARDINALITY

------- -------- ----------- -----------

PLAYERS PRIMARY PLAYERNO 14

因為此時PLAYER表中不同的PLAYERNO數(shù)量遠遠多于14,索引基本失效。

下面我們通過Analyze Table語句來修復(fù)索引:

ANALYZE TABLE PLAYERS;

SHOW INDEX FROM PLAYERS;

結(jié)果是:

TABLE KEY_NAME COLUMN_NAME CARDINALITY

------- -------- ----------- -----------

PLAYERS PRIMARY PLAYERNO 1000

此時索引已經(jīng)修復(fù),查詢效率大大提高。

需要注意的是,如果開啟了binlog,那么Analyze Table的結(jié)果也會寫入binlog,我們可以在analyze和table之間添加關(guān)鍵字local取消寫入。

Checksum Table

數(shù)據(jù)在傳輸時,可能會發(fā)生變化,也有可能因為其它原因損壞,為了保證數(shù)據(jù)的一致,我們可以計算checksum(校驗值)。

使用MyISAM引擎的表會把checksum存儲起來,稱為live checksum,當數(shù)據(jù)發(fā)生變化時,checksum會相應(yīng)變化。

在執(zhí)行Checksum Table時,可以在最后指定選項qiuck或是extended;quick表示返回存儲的checksum值,而extended會重新計算checksum,如果沒有指定選項,則默認使用extended。

Optimize Table

經(jīng)常更新數(shù)據(jù)的磁盤需要整理碎片,數(shù)據(jù)庫也是這樣,Optimize Table語句對MyISAM和InnoDB類型的表都有效。

如果表經(jīng)常更新,就應(yīng)當定期運行Optimize Table語句,保證效率。

與Analyze Table一樣,Optimize Table也可以使用local來取消寫入binlog。

Check Table

數(shù)據(jù)庫經(jīng)常可能遇到錯誤,譬如數(shù)據(jù)寫入磁盤時發(fā)生錯誤,或是索引沒有同步更新,或是數(shù)據(jù)庫未關(guān)閉MySQL就停止了。

遇到這些情況,數(shù)據(jù)就可能發(fā)生錯誤:

Incorrect key file for table: ' '. Try to repair it.

此時,我們可以使用Check Table語句來檢查表及其對應(yīng)的索引。

譬如我們運行

CHECK TABLE PLAYERS;

結(jié)果是

TABLE OP MSG_TYPE MSG_TEXT

-------------- ----- -------- --------

TENNIS.PLAYERS check status OK

MySQL會保存表最近一次檢查的時間,每次運行check table都會存儲這些信息:

執(zhí)行

SELECT TABLE_NAME, CHECK_TIME

FROM INFORMATION_SCHEMA.TABLES

WHERE TABLE_NAME = 'PLAYERS'

AND TABLE_SCHEMA = 'TENNIS'; /*TENNIS是數(shù)據(jù)庫名*/

結(jié)果是

TABLE_NAME CHECK_TIME

---------- -------------------

PLAYERS 2006-08-21 16:44:25

Check Table還可以指定其它選項:

UPGRADE:用來測試在更早版本的MySQL中建立的表是否與當前版本兼容。

QUICK:速度最快的選項,在檢查各列的數(shù)據(jù)時,不會檢查鏈接(link)的正確與否,如果沒有遇到什么問題,可以使用這個選項。

FAST:只檢查表是否正常關(guān)閉,如果在系統(tǒng)掉電之后沒有遇到嚴重問題,可以使用這個選項。

CHANGED:只檢查上次檢查時間之后更新的數(shù)據(jù)。

MEDIUM:默認的選項,會檢查索引文件和數(shù)據(jù)文件之間的鏈接正確性。

EXTENDED:最慢的選項,會進行全面的檢查。

Repair Table

用于修復(fù)表,只對MyISAM和ARCHIVE類型的表有效。

這條語句同樣可以指定選項:

QUICK:最快的選項,只修復(fù)索引樹。

EXTENDED:最慢的選項,需要逐行重建索引。

USE_FRM:只有當MYI文件丟失時才使用這個選項,全面重建整個索引。

與Analyze Table一樣,Repair Table也可以使用local來取消寫入binlog。

bitsCN.com

Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號-2

違法及侵權(quán)請聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市萬商天勤律師事務(wù)所王興未律師提供法律服務(wù)