最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql 維護(hù)常用命令

 更新時間:2009年11月30日 19:39:00   作者:  
需要維護(hù)mysql數(shù)據(jù)庫的朋友可以參考下。
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ù)量遠(yuǎn)遠(yuǎn)多于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,當(dāng)數(shù)據(jù)發(fā)生變化時,checksum會相應(yīng)變化。
在執(zhí)行Checksum Table時,可以在最后指定選項qiuck或是extended;qiuck表示返回存儲的checksum值,而extended會重新計算checksum,如果沒有指定選項,則默認(rèn)使用extended。

Optimize Table

經(jīng)常更新數(shù)據(jù)的磁盤需要整理碎片,數(shù)據(jù)庫也是這樣,Optimize Table語句對MyISAM和InnoDB類型的表都有效。
如果表經(jīng)常更新,就應(yīng)當(dāng)定期運(yùn)行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)的索引。
譬如我們運(yùn)行
CHECK TABLE PLAYERS;

結(jié)果是
TABLE OP MSG_TYPE MSG_TEXT
-------------- ----- -------- --------
TENNIS.PLAYERS check status OK

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

執(zhí)行
SELECT TABLE_NAME, CHECK_TIME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'PLAYERS'
AND TABLE_SCHEMA = 'TENNIS';

結(jié)果是

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

Check Table還可以指定其它選項:
UPGRADE:用來測試在更早版本的MySQL中建立的表是否與當(dāng)前版本兼容。
QUICK:速度最快的選項,在檢查各列的數(shù)據(jù)時,不會檢查鏈接(link)的正確與否,如果沒有遇到什么問題,可以使用這個選項。
FAST:只檢查表是否正常關(guān)閉,如果在系統(tǒng)掉電之后沒有遇到嚴(yán)重問題,可以使用這個選項。
CHANGED:只檢查上次檢查時間之后更新的數(shù)據(jù)。
MEDIUM:默認(rèn)的選項,會檢查索引文件和數(shù)據(jù)文件之間的鏈接正確性。
EXTENDED:最慢的選項,會進(jìn)行全面的檢查。

Repair Table

用于修復(fù)表,只對MyISAM和ARCHIVE類型的表有效。
這條語句同樣可以指定選項:
QUICK:最快的選項,只修復(fù)索引樹。
EXTENDED:最慢的選項,需要逐行重建索引。
USE_FRM:只有當(dāng)MYI文件丟失時才使用這個選項,全面重建整個索引。

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

相關(guān)文章

  • Redis什么是熱Key問題以及如何解決熱Key問題

    Redis什么是熱Key問題以及如何解決熱Key問題

    這篇文章主要介紹了Redis什么是熱Key問題以及如何解決熱Key問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 一文帶你了解MySQL基于規(guī)則的優(yōu)化

    一文帶你了解MySQL基于規(guī)則的優(yōu)化

    MySQL依據(jù)一些規(guī)則,竭盡全力的把這些很糟糕的語句轉(zhuǎn)換成某種可以比較高效執(zhí)行的形式,這個過程也可以被稱作查詢重寫,本章主要就是詳細(xì)講解下這些比較重要的重寫規(guī)則,感興趣的小伙伴可跟著小編一起來學(xué)習(xí)
    2023-05-05
  • LInux下安裝MySQL5.6 X64版本步驟詳解

    LInux下安裝MySQL5.6 X64版本步驟詳解

    這篇文章主要介紹了LInux下安裝MySQL5.6 X64版本步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Linux7.6二進(jìn)制安裝Mysql8.0.27詳細(xì)操作步驟

    Linux7.6二進(jìn)制安裝Mysql8.0.27詳細(xì)操作步驟

    大家好,本篇文章主要講的是Linux7.6二進(jìn)制安裝Mysql8.0.27詳細(xì)操作步驟,感興趣的同學(xué)快來看一看吧,希望對你起到幫助
    2021-11-11
  • MySQL分區(qū)表的基本入門教程

    MySQL分區(qū)表的基本入門教程

    這篇文章主要給大家介紹了關(guān)于MySQL分區(qū)表的基本入門教程,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Mysql使用函數(shù)json_extract處理Json類型數(shù)據(jù)的方法實例

    Mysql使用函數(shù)json_extract處理Json類型數(shù)據(jù)的方法實例

    在日常業(yè)務(wù)開發(fā)中通常mysql數(shù)據(jù)庫中某個字段會需要存儲json格式字符串,下面這篇文章主要給大家介紹了關(guān)于Mysql使用函數(shù)json_extract處理Json類型數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • 淺談mysql數(shù)據(jù)庫中的換行符與textarea中的換行符

    淺談mysql數(shù)據(jù)庫中的換行符與textarea中的換行符

    下面小編就為大家?guī)硪黄獪\談mysql數(shù)據(jù)庫中的換行符與textarea中的換行符。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • MySQL8.0就地升級到MySQL8.4.0的方法

    MySQL8.0就地升級到MySQL8.4.0的方法

    本文主要介紹了MySQL8.0就地升級到MySQL8.4.0的方法,文中通過代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06
  • MySQL 處理重復(fù)數(shù)據(jù)的方法(防止、刪除)

    MySQL 處理重復(fù)數(shù)據(jù)的方法(防止、刪除)

    這篇文章主要介紹了MySQL 處理重復(fù)數(shù)據(jù)的方法,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 解決MySQL遇到錯誤:1217 - Cannot delete or update a parent row: a foreign key constraint fails

    解決MySQL遇到錯誤:1217 - Cannot delete or 

    這篇文章主要介紹了解決MySQL遇到錯誤:1217 - Cannot delete or update a parent row: a foreign key constraint fails問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評論

读书| 北安市| 大姚县| 汝城县| 武山县| 建宁县| 桂阳县| 新丰县| 晋江市| 秀山| 巴青县| 沽源县| 府谷县| 久治县| 黄龙县| 犍为县| 双峰县| 翁牛特旗| 牡丹江市| 柳林县| 拜城县| 肥城市| 昔阳县| 皋兰县| 曲沃县| 宜章县| 台东县| 邹平县| 萨迦县| 永昌县| 阿鲁科尔沁旗| 凤冈县| 天台县| 杂多县| 大丰市| 驻马店市| 香河县| 荥阳市| 铁岭县| 广丰县| 华阴市|