丝袜人妻一区二区三区_少妇福利无码视频_亚洲理论片在线观看_一级毛片国产A级片

如何合并分區(qū)、win10如何合并分區(qū)?

分區(qū)表是my之后的新特性,合并表已經(jīng)存在很長(zhǎng)時(shí)間了。這篇文章主要介紹這兩個(gè)概念以及他們基本的操作。

一、合并表

合并表說實(shí)話是一種將要被淘汰的技術(shù),但是掌握了合并表的概念再去看分區(qū)表就比較容易理解一點(diǎn)。

合并表其實(shí)就是合并了多個(gè)子表的邏輯表,子表使用了MyISAM存儲(chǔ)引擎物理子表,合并表使用merge存儲(chǔ)引擎,邏輯表和子表的結(jié)構(gòu)完全相同(包括字段、索引等)。

刪除一個(gè)合并表,它的子表不會(huì)受任何影響,而如果刪除其中一個(gè)子表則可能會(huì)有不同的后果,這要視操作系統(tǒng)而定。

下面我們進(jìn)行實(shí)操一下:創(chuàng)建量?jī)蓮埼锢碜颖韙1和t2,然后創(chuàng)建他們倆的合并表。

在上面我們進(jìn)行了一些初始化操作。而且我們?cè)趧?chuàng)建合并表的時(shí)候,指定了insert_method為last,意思就是在最后一張物理表的末尾插入真實(shí)數(shù)據(jù),這里最后一張真實(shí)物理表就是t2。此時(shí)我們插入一個(gè)數(shù)據(jù)5會(huì)發(fā)現(xiàn):t1沒有,t2有。

合并表的內(nèi)容很簡(jiǎn)單,也很容易理解。既然表能合并肯定也能分開。我們接著看分區(qū)表:

二、分區(qū)表

分區(qū)表就是把一張表分開,對(duì)用戶來說,分區(qū)表是一個(gè)獨(dú)立的邏輯表,但是底層由多個(gè)物理子表組成。實(shí)現(xiàn)分區(qū)的代碼實(shí)際上是對(duì)一組底層表的句柄對(duì)象的封裝。對(duì)分區(qū)表的請(qǐng)求,都會(huì)通過句柄對(duì)象轉(zhuǎn)化成對(duì)存儲(chǔ)引擎的接口調(diào)用。分區(qū)表的每一個(gè)分區(qū)都是有索引的獨(dú)立表。

分區(qū)表發(fā)揮大作用的場(chǎng)景:

(1)表非常大以至于無法全部都放在內(nèi)存中,或者只在表的最后部分有熱點(diǎn)數(shù)據(jù),其他均是歷史數(shù)據(jù)。

(2)分區(qū)表的數(shù)據(jù)更容易維護(hù)。

(3)分區(qū)表的數(shù)據(jù)可以分布在不同的物理設(shè)備上。

(4)可以使用分區(qū)表來避免某些特殊的瓶頸,例如InnoDB單個(gè)索引的互斥訪問。

(5)如果需要,還可以備份和恢復(fù)獨(dú)立的分區(qū),這在非常大的數(shù)據(jù)集的場(chǎng)景下效果非常好。

分開的方式有三種:

(1)水平分區(qū):根據(jù)行切分,也就是把記錄分開。

(2)垂直分區(qū):根據(jù)列切分,也就是把字段分開。

(3)復(fù)合分區(qū):水平分區(qū)和垂直分區(qū)的結(jié)合。

我們按照這兩種方式來實(shí)際操作一下:

1、水平分區(qū)

(1)range分區(qū)

range分區(qū)是基于連續(xù)的范圍值。

在這里需要注意的是,alter形式刪除分區(qū)比delete形式更加的高效。一般都是基于日期時(shí)間進(jìn)行分區(qū)。

(2)List分區(qū)

range分區(qū)是基于連續(xù)的范圍,list是基于確定值的范圍,就好比集合。

這種不是指的范圍,而是指的具體的值,10號(hào)和20在n1分區(qū),30在n2分區(qū)。

(3)Hash分區(qū)

hash分區(qū)指的是根據(jù)hash運(yùn)算的模,最終確定在哪一個(gè)分區(qū)。比如2020/4=0,就落在分區(qū)0上。

此時(shí)我們2020/4=0,就會(huì)保存在分區(qū)0中。

(4)線性Hash分區(qū)

線性hash指的是使用2的冪運(yùn)算法則。運(yùn)算起來比較麻煩。但是優(yōu)點(diǎn)是可以使得數(shù)據(jù)分布均勻。舉個(gè)例子。假設(shè)分區(qū)個(gè)數(shù)num=6,N表示數(shù)據(jù)最終存儲(chǔ)的分區(qū):

第一步:V = power(2, ceiling(log(2, num))),log是計(jì)算NUM以2為底的對(duì)數(shù),ceiling()向上取整,power()是取2的次方值;

第二步:N=values&(V-1),&位與運(yùn)算,

第三步:while N>=num,此時(shí)N =N & (CEIL(V/ 2) - 1)

比如插入2020-01-20,V=8,N=(2020)& (8-1)=4。4<6,所以保存在分區(qū)4。

代碼就不演示了,區(qū)別就是by hash換成by linear hash。

2、垂直分區(qū)

垂直分區(qū)比較少,直接通過key字段名進(jìn)行劃分即可。

垂直分區(qū)相當(dāng)簡(jiǎn)單。

3、復(fù)合分區(qū)

上面介紹了水平和復(fù)合的方式,復(fù)合分區(qū)的方式是進(jìn)行組合。你可以隨意搭配。這里演示一種。

父分區(qū)使用list,子分區(qū)使用垂直分區(qū)。

在這里介紹了分區(qū)表的一些概念和基礎(chǔ)的使用方法。其實(shí)分區(qū)表也有很多限制。

分區(qū)表的限制:

(1)一個(gè)表最多只能有1024個(gè)分區(qū)。

(2)如果分區(qū)字段中有主鍵或者唯一索引的列,那么所有主鍵列和唯一索引列都必須包含進(jìn)來。

(3)分區(qū)表中無法使用外鍵約束。

(4)所有分區(qū)都必須使用相同的存儲(chǔ)引擎。

(5)某些存儲(chǔ)引擎不支持分區(qū)。比如說merge、InnoDB、CSV、聯(lián)合存儲(chǔ)引擎等。

MERGE存儲(chǔ)引擎。 用戶定義的分區(qū)和MERGE 存儲(chǔ)引擎不兼容。分區(qū)表無法合并。

聯(lián)合存儲(chǔ)引擎。 FEDERATED不支持 分區(qū)表; 不可能創(chuàng)建分區(qū) FEDERATED表。

CSV存儲(chǔ)引擎。 CSV不支持使用存儲(chǔ)引擎的分區(qū)表; 不可能創(chuàng)建分區(qū)CSV表。

InnoDB存儲(chǔ)引擎。 InnoDB外鍵和MySQL分區(qū)不兼容。分區(qū) InnoDB表不能有外鍵引用,也不能有外鍵引用的列。InnoDB具有或由外鍵引用的表不能分區(qū)。

(6)對(duì)于MyISAM表,使用分區(qū)表時(shí)需要打開更多的文件描述符。

所以在使用的時(shí)候一定要注意。

1.《如何合并分區(qū)、win10如何合并分區(qū)?》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān),侵刪請(qǐng)聯(lián)系頁腳下方聯(lián)系方式。

2.《如何合并分區(qū)、win10如何合并分區(qū)?》僅供讀者參考,本網(wǎng)站未對(duì)該內(nèi)容進(jìn)行證實(shí),對(duì)其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。

3.文章轉(zhuǎn)載時(shí)請(qǐng)保留本站內(nèi)容來源地址,http://f99ss.com/keji/3208974.html

上一篇

cf如何全屏、cf全屏游戲

如何合并分區(qū) 如何合并分區(qū)【圖文教程】

計(jì)算機(jī)是我們生活中非常重要的一個(gè)電子工具,但是它的硬盤空間是有限的,尤其是C盤,有的用戶本身的硬盤空間就很小,又不會(huì)去管理一下C盤的空間及存儲(chǔ)方式,因此很多時(shí)候C盤的空間就變得越來越狹小,導(dǎo)致系統(tǒng)的運(yùn)行變得越來越慢,那么我們有沒有什么辦法能夠重新合并并且分配一下硬盤空間呢?下面我們就來簡(jiǎn)單了解一下。  合并分區(qū),查看磁盤管理  以windows...