大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 MySQL分區(qū)表原理詳解

MySQL分區(qū)表原理詳解

更新時(shí)間:2021-01-12 17:45:23 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1523次

分區(qū)表是將大表的數(shù)據(jù)分成稱為分區(qū)的許多小的子集,分區(qū)是將一個(gè)表的數(shù)據(jù)按照某種方式,比如按照時(shí)間上的月份,分成多個(gè)較小的,更容易管理的部分,但是邏輯上仍是一個(gè)表。由于在MySQL數(shù)據(jù)庫中,我們對(duì)MySQL分區(qū)表的理解十分晦澀,為了更好地理解MySQL分區(qū)表,本文我們來詳細(xì)講一講MySQL分區(qū)表原理

 

如前所述,分區(qū)表由多個(gè)相關(guān)的底層表實(shí)現(xiàn),這些底層表也是由句柄對(duì)象(Handler object)標(biāo)識(shí),所以可以直接訪問各個(gè)分區(qū)。分區(qū)有利于管理非常大的表,它采用分而治之的邏輯,分區(qū)引入了分區(qū)鍵的概念,分區(qū)鍵用于根據(jù)某個(gè)區(qū)間值(或者范圍值)、特定值列表或者h(yuǎn)ash函數(shù)值執(zhí)行數(shù)據(jù)的聚集,讓數(shù)據(jù)根據(jù)規(guī)則分布在不同的分區(qū)中,讓一個(gè)大對(duì)象變成一些小對(duì)象。

 

存儲(chǔ)引擎管理分區(qū)的各個(gè)底層表和管理普通表一樣(所有的底層表都必須使用相同的存儲(chǔ)引擎),分區(qū)表的索引只是在各個(gè)底層表上各自加上一個(gè)完全相同的索引

從存儲(chǔ)引擎的角度來看,底層表和一個(gè)普通表沒有任何不同,存儲(chǔ)引擎也無須直到這是一個(gè)普通表還是一個(gè)分區(qū)表的一部分。

 

我們先來看看MySQL分區(qū)表上的操作:

SELECT查詢:當(dāng)查詢一個(gè)分區(qū)表的時(shí)候,分區(qū)層先打開并鎖住所有的底層表,優(yōu)化器先判斷是否可以過濾部分分區(qū),然后再調(diào)用對(duì)應(yīng)的存儲(chǔ)引擎接口訪問各個(gè)分區(qū)的數(shù)據(jù)。

INSERT操作:當(dāng)寫入一條記錄時(shí),分區(qū)層先打開并鎖住所有的底層表,然后確定哪個(gè)分區(qū)接收這條記錄,再將記錄寫入對(duì)應(yīng)底層表

DELETE操作:當(dāng)刪除一條記錄,分區(qū)層先打開并鎖住所有的底層表,然后確定數(shù)據(jù)對(duì)應(yīng)的分區(qū),最后對(duì)相應(yīng)底層表進(jìn)行刪除操作。

UPDATE操作:當(dāng)更新一條記錄時(shí),分區(qū)層先打開并鎖住所有的底層表,MySQL先確定需要更新的記錄在哪個(gè)分區(qū),然后取出數(shù)據(jù)并更新,在判斷更新后的數(shù)據(jù)應(yīng)該放在哪個(gè)分區(qū),最后對(duì)底層表進(jìn)行寫入操作,并對(duì)原數(shù)據(jù)所在的底層表進(jìn)行刪除操作。

 

有些操作是支持過濾的。當(dāng)刪除一條記錄時(shí),MySQL需要先找到這條記錄,如果WHERE條件恰好和分區(qū)表達(dá)式匹配,就可以將所有不包含這條記錄的分區(qū)都過濾掉。這對(duì)UPDATE語句同樣有效。如果是INSERT操作,則本身就是只命中一個(gè)分區(qū),其他分區(qū)都會(huì)被過濾掉。MySQL先確定這條操作屬于哪個(gè)分區(qū),再將記錄寫入對(duì)應(yīng)的底層分區(qū)表,無須對(duì)任何其他分區(qū)進(jìn)行操作。雖然每個(gè)操作都會(huì)”先打開并鎖住所有的底層表“,但這并不是說分區(qū)表在處理的過程中是鎖住全表的。如果存儲(chǔ)引擎能夠自己實(shí)現(xiàn)行級(jí)鎖,例如InnoDB,則會(huì)在分區(qū)層釋放對(duì)應(yīng)表鎖。這個(gè)加鎖和解鎖過程與普通InnoDB上的查詢類似。

 

MySQL分區(qū)表與單個(gè)磁盤或文件系統(tǒng)分區(qū)相比,可以存儲(chǔ)更多的數(shù)據(jù)。了解MySQL分區(qū)表原理便于我們理解MySQL分區(qū)表的使用,對(duì)于我們掌握MySQL分區(qū)表是十分必要的。想要學(xué)習(xí)更多的MySQL數(shù)據(jù)庫中的知識(shí),快來本站的MySQL教程學(xué)習(xí)吧!

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-10-10 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲videos| 日韩精品高清自在线 | 久久日本精品99久久久 | 日本免费一级 | 国产成人区 | 久久大胆视频 | 曰韩一级片 | 手机精品在线 | 国内久久精品视频 | 五月天婷婷在线观看 | 九9热这里只有真品 | 午夜黄色毛片 | 欧美精品a毛片免费观看 | 美女操穴 | 精品久久不卡 | 俄罗斯一级毛片免费视频 | 久青草视频 | 久久福利一区二区三区 | 草莓视频在线观看精品最新 | 亚洲精品一区二区三区网址 | 国产欧美亚洲精品综合在线 | 日韩欧美亚洲每的更新在线 | 国产尤物在线播放 | 97se色综合一区二区二区 | 在线看一区二区 | 日本中文字幕永久在线 | 免费一级毛片不卡在线播放 | 国产成人精品在线观看 | 国产五月天在线 | 久久综合色视频 | 久久一日本道色综合久久m 久久一色本道亚洲 | 成人国产综合 | 国产在线视频自拍 | 清纯唯美亚洲综合日韩第 | 97精品视频 | 国产这里有精品 | 日本中文字幕在线观看视频 | 亚洲国产天堂在线网址 | 毛片免费观看久久欧美 | 美女视频很黄很黄又免费的 | 91视频亚洲 |