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

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

簡(jiǎn)述MySQL分區(qū)表類型

更新時(shí)間:2021-01-26 17:43:08 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽991次

分區(qū)是將一個(gè)表的數(shù)據(jù)按照某種方式,比如按照時(shí)間上的月份,分成多個(gè)較小的,更容易管理的部分,但是邏輯上仍是一個(gè)表。我們?cè)诖酥耙呀?jīng)講過(guò)MySQL分區(qū)表的原理,分區(qū)有利于管理非常大的表,它采用分而治之的邏輯,便于對(duì)數(shù)據(jù)的管理。本文我們就來(lái)進(jìn)一步了解MySQL分區(qū)表,詳細(xì)看一下MySQL分區(qū)表類型究竟有幾個(gè)?

 

MySQL支持多種分區(qū)表,我們看到最多的是根據(jù)范圍進(jìn)行分區(qū),每個(gè)分區(qū)存儲(chǔ)落在某個(gè)范圍的記錄,分區(qū)表達(dá)式可以是列,也可以是包含列的表達(dá)式。分區(qū)的一個(gè)主要目的是將數(shù)據(jù)按照一個(gè)較粗的粒度分在不同的表中,這樣做可以將相關(guān)數(shù)據(jù)存放在一起,另外,如果想一次批量刪除整個(gè)分區(qū)的數(shù)據(jù)也會(huì)變的很方便。實(shí)現(xiàn)分區(qū)表的代碼實(shí)際上是對(duì)一組底層表的句柄對(duì)象的封裝。對(duì)分區(qū)表的請(qǐng)求,都會(huì)通過(guò)句柄對(duì)象轉(zhuǎn)化成對(duì)存儲(chǔ)引擎的接口調(diào)用。

 

MySQL支持如下幾種類型的分區(qū):

1.RANGE分區(qū):行數(shù)據(jù)基于一個(gè)給定連續(xù)范圍分區(qū)。不好理解,看例子吧。5.5版本開始支持RANGE COLUMNS分區(qū)。

 

2.LIST分區(qū):同RANGE,區(qū)別在于給定的不是連續(xù)范圍,是離散的值。5.5版本開始支持LIST COLUMNS分區(qū)。

 

3.HASH分區(qū):根據(jù)用戶自定義的表達(dá)式的返回值進(jìn)行分區(qū),返回值不能是負(fù)數(shù)。

 

4.KEY分區(qū):根據(jù)MySQL內(nèi)部提供的哈希函數(shù)進(jìn)行分區(qū)。

 

5.COLUMNS分區(qū):5.5版本開始支持,可以直接使用非整形的數(shù)據(jù)進(jìn)行分區(qū),分區(qū)根據(jù)類型直接比較而得,不需要轉(zhuǎn)換為整形。

 

無(wú)論創(chuàng)建何種類型的分區(qū),如果表中存在主鍵或唯一索引的列,則分區(qū)列必須是主鍵或唯一索引的一部分。索引列可以是null值。在沒有主鍵和唯一索引的表中可以指定任意列為索引列。表中只能最多有一個(gè)唯一索引,即primary  key 和unique key不能同時(shí)存在,primary key包含在unique key中時(shí)除外。

 

create table sales(

   order_date datetime not null,

   -- other columns omitted

  ) engine=innodb partition by range(year(order_date)) (

    partition p_2010 values less than (2010),

    partition p_2011 values less than (2011),

    partition p_2012 values less than (2012),

    partition p_catchall  values less than maxvalue

    );

partition分區(qū)子句中可以使用各種函數(shù),但有一個(gè)要求,表達(dá)式返回的值要是一個(gè)確定的整數(shù),且不能是一個(gè)常數(shù)。MySQL還支持鍵值,哈希和列表分區(qū),這其中有些還支持子分區(qū),不過(guò)我們?cè)谏a(chǎn)環(huán)境中很少見到。

我們還看到的一些其他的分區(qū)技術(shù)包括:

根據(jù)鍵值進(jìn)行分區(qū),來(lái)減少InnoDB的互斥競(jìng)爭(zhēng)。

使用數(shù)據(jù)模函數(shù)來(lái)進(jìn)行分區(qū),然后將數(shù)據(jù)輪詢放入不同的分區(qū)。

假設(shè)表有一個(gè)自增的主鍵列id,希望根據(jù)時(shí)間將最近的熱點(diǎn)數(shù)據(jù)集中存放,那么必須將時(shí)間戳包含在主鍵當(dāng)中才行,而這和主鍵本身的意義相矛盾,這種情況下可以使用這樣的分區(qū)表達(dá)式來(lái)實(shí)現(xiàn)相同的目的:Hash(id div 100000) ,這將為100萬(wàn)數(shù)據(jù)簡(jiǎn)歷一個(gè)分區(qū),這樣一方面實(shí)現(xiàn)了當(dāng)初的分區(qū)目的,另一方面比起使用時(shí)間范圍分區(qū)還避免了一個(gè)問題,就是當(dāng)超過(guò)一定閥值時(shí),如果使用時(shí)間范圍分區(qū)就必須新增分區(qū)。

 

當(dāng)然,分區(qū)技術(shù)的應(yīng)用遠(yuǎn)不止與此,區(qū)分各種分區(qū)表的類型并加以利用,我們才能更好地使用MySQL數(shù)據(jù)庫(kù)查詢和利用各種各樣的數(shù)據(jù)。本站的MySQL教程中,對(duì)mysql分區(qū)表有著十分詳細(xì)的講解,想要深入學(xué)習(xí)的小伙伴一定不要錯(cuò)過(guò)。

 

 

 

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

  • 全國(guó)校區(qū) 2025-10-10 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 中文字幕日本精品一区二区三区 | 亚洲欧美精品在线 | 毛片久久| 午夜欧美精品久久久久久久久 | 欧美激情在线免费观看 | 青草伊伊| 亚洲宗合 | 精品一区精品二区 | 国外成人免费高清激情视频 | 夜夜爽天天狠狠九月婷婷 | 欧美乱妇在线观看 | 国产一级久久久久久毛片 | 99热在线免费播放 | 色网站视频 | 久久成人精品 | 国产欧美一区二区三区久久 | 欧美一级特毛片 | 久久99精品久久久久久黑人 | 狠狠狠色丁香婷婷综合久久五月 | 亚洲va中文字幕欧美不卡 | 亚洲精品免费日日日夜夜夜夜 | 高清在线亚洲精品国产二区 | 在线观看亚洲精品专区 | 国产99在线a视频 | 久久久高清| 涩涩视频在线观看 | 伊人久久一本 | 久操视频免费在线观看 | 日本特交大片免费观看 | 亚洲一区二区免费在线观看 | 99免费在线观看 | 国产精品综合一区二区 | 99免费在线播放99久久免费 | 日本三级不卡 | 888奇米影视 | 日日干日日爽 | 亚洲在线高清 | 不卡国产 | 99热这里只有精品69 | 国产午夜永久福利视频在线观看 | 国产精品视频免费 |