中文字幕av高清_国产视频一二区_男女羞羞羞视频午夜视频_成人精品一区_欧美色视_在线视频这里只有精品

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > mysql update主鍵更新很慢會是什么原因?

mysql update主鍵更新很慢會是什么原因?

來源:千鋒教育
發布人:xqq
時間: 2023-10-13 18:30:50 1697193050

一、mysql update主鍵更新很慢的原因

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;quick表示返回存儲的checksum值,而extended會重新計算checksum,如果沒有指定選項,則默認使用extended。

Optimize Table

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

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

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

Check Table

數據庫經??赡苡龅藉e誤,譬如數據寫入磁盤時發生錯誤,或是索引沒有同步更新,或是數據庫未關閉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’; /TENNIS是數據庫名/

結果是

TABLE_NAME CHECK_TIME

PLAYERS 2006-08-21 16:44:25

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

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

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

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

CHANGED:只檢查上次檢查時間之后更新的數據。

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

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

Repair Table

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

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

QUICK:非??斓倪x項,只修復索引樹。

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

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

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

延伸閱讀:

二、Navicat是什么

Navicat是一套快速、可靠和全面的數據庫管理工具,專門用于簡化數據庫管理和降低管理成本。Navicat圖形界面直觀,提供簡便的管理方法,設計和操作MySQL、MariaDB、SQL Server、Oracle、PostgreSQL和SQLite的數據。

Navicat提供一個直觀和設計完善的用戶界面,用于創建、修改和管理資料庫的所有對象,例如表、視圖、函數或過程、索引、觸發器和序列。我們的表設計器幫助用戶創建和修改數據庫的表,讓設置高級選項,如關系、限制、觸發器和更多。

使用Navicat瀏覽和修改數據,插入、編輯、刪除數據或復制和粘貼記錄到數據表形式的數據編輯器,Navicat將運行相應的命令(例如INSERT或UPDATE),免除寫復雜的SQL。廣泛的數據編輯工具令編輯工作更為方便,例如外鍵查找、set/enum選擇器和記錄篩選。

聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 一级毛片免费高清 | 最新国产精品精品视频 | 国产精品久久久精品 | 国产精品一区二区日韩新区 | 亚洲蜜臀av乱码久久精品蜜桃 | 亚洲成人在线视频播放 | 亚洲毛片在线 | 欧美成人精品一区二区男人看 | 国产亚洲综合一区二区 | 国产午夜精品在线 | 91精品国产99久久久久久红楼 | 中文字幕三区 | 50人群体交乱视频 | 超碰人人艹 | 欧美日韩一二 | 一区二视频 | 中文字幕日本一区 | 黄a免费网站 | 国产欧美综合一区二区三区 | www亚洲成人 | 天天干天天添 | 日本免费电影一区 | 久久88| 国产成人a亚洲精品 | 亚洲国产一区二区三区四区 | 亚洲国产欧美在线 | 精品日韩一区二区三区 | 日本免费福利视频 | 国产精品久久久久久久久久久免费看 | 精品乱码一区二区 | 在线看av的网址 | 插插射啊爱视频日a级 | www.国产精品 | 亚洲系列第一页 | 91精品久久久久久久久 | 亚洲精品三级 | 日韩欧美一区二区三区免费观看 | 国产片在线观看 | 蜜臀av国产精品久久久久 | 韩日一区二区三区 | 亚洲成人久久久 |