日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 两张表合并查询_mysql中的分区表和合并表详解(一个常见知识点)

發布時間:2024/9/19 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 两张表合并查询_mysql中的分区表和合并表详解(一个常见知识点) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

分區表是mysql5.1之后的新特性,合并表已經存在很長時間了。這篇文章主要介紹這兩個概念以及他們基本的操作。

一、合并表

合并表說實話是一種將要被淘汰的技術,但是掌握了合并表的概念再去看分區表就比較容易理解一點。

合并表其實就是合并了多個子表的邏輯表,子表使用了myisam存儲引擎物理子表,合并表使用merge存儲引擎,邏輯表和子表的結構完全相同(包括字段、索引等)。

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

下面我們進行實操一下:創建量兩張物理子表t1和t2,然后創建他們倆的合并表。

在上面我們進行了一些初始化操作。而且我們在創建合并表的時候,指定了insert_method為last,意思就是在最后一張物理表的末尾插入真實數據,這里最后一張真實物理表就是t2。此時我們插入一個數據5會發現:t1沒有,t2有。

合并表的內容很簡單,也很容易理解。既然表能合并肯定也能分開。我們接著看分區表:

二、分區表

分區表就是把一張表分開,對用戶來說,分區表是一個獨立的邏輯表,但是底層由多個物理子表組成。實現分區的代碼實際上是對一組底層表的句柄對象的封裝。對分區表的請求,都會通過句柄對象轉化成對存儲引擎的接口調用。分區表的每一個分區都是有索引的獨立表。

分區表發揮大作用的場景:

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

(2)分區表的數據更容易維護。

(3)分區表的數據可以分布在不同的物理設備上。

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

(5)如果需要,還可以備份和恢復獨立的分區,這在非常大的數據集的場景下效果非常好。

分開的方式有三種:

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

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

(3)復合分區:水平分區和垂直分區的結合。

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

1、水平分區

(1)range分區

range分區是基于連續的范圍值。

在這里需要注意的是,alter形式刪除分區比delete形式更加的高效。一般都是基于日期時間進行分區。

(2)List分區

range分區是基于連續的范圍,list是基于確定值的范圍,就好比集合。

這種不是指的范圍,而是指的具體的值,10號和20在n1分區,30在n2分區。

(3)Hash分區

hash分區指的是根據hash運算的模,最終確定在哪一個分區。比如2020/4=0,就落在分區0上。

此時我們2020/4=0,就會保存在分區0中。

(4)線性Hash分區

線性hash指的是使用2的冪運算法則。運算起來比較麻煩。但是優點是可以使得數據分布均勻。舉個例子。假設分區個數num=6,N表示數據最終存儲的分區:

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

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

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

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

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

2、垂直分區

垂直分區比較少,直接通過key字段名進行劃分即可。

垂直分區相當簡單。

3、復合分區

上面介紹了水平和復合的方式,復合分區的方式是進行組合。你可以隨意搭配。這里演示一種。

父分區使用list,子分區使用垂直分區。

在這里介紹了分區表的一些概念和基礎的使用方法。其實分區表也有很多限制。

分區表的限制:

(1)一個表最多只能有1024個分區。

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

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

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

(5)某些存儲引擎不支持分區。比如說merge、InnoDB、CSV、聯合存儲引擎等。

MERGE存儲引擎。 用戶定義的分區和MERGE 存儲引擎不兼容。分區表無法合并。

聯合存儲引擎。 FEDERATED不支持 分區表; 不可能創建分區 FEDERATED表。

CSV存儲引擎。 CSV不支持使用存儲引擎的分區表; 不可能創建分區CSV表。

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

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

所以在使用的時候一定要注意。

總結

以上是生活随笔為你收集整理的mysql 两张表合并查询_mysql中的分区表和合并表详解(一个常见知识点)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 99日韩精品| 黄色片网站在线播放 | 九九这里只有精品视频 | 国产一区高清 | 亚洲国产一区二区在线观看 | 国产成人精品av久久 | 国产欧美一区二区三区沐欲 | 91爱爱网 | 亚洲精品免费网站 | 国产又粗又深又猛又爽又在线观看 | 日本一级三级三级三级 | 欧美 亚洲 | 欧美精品久久天天躁 | 国产videos | av在线电影院| 中文字幕a级片 | 国产情侣露脸自拍 | 91精品国产色综合久久不卡粉嫩 | 亚洲高清视频一区 | 久久精品视 | 伊人称影院| 久久久久久久久久久福利 | 欧美高清视频一区二区三区 | 性欧美视频 | 国产精品久久久免费观看 | 中文字幕少妇 | 500福利视频导航 | 无码毛片aaa在线 | 好吊色视频988gao在线观看 | 一级全黄裸体免费视频 | 精品交短篇合集 | 有奶水的迷人少妇 | 小香蕉av | 国产一级片| 高清视频免费在线观看 | 一区二区久久久 | 天天干视频在线 | 国产一区午夜 | 亚洲无码国产精品 | 国产成人精品一区二三区四区五区 | 在线免费观看黄网站 | 在线观看日批 | 黄色xxxxxx | 亚洲欧美精品aaaaaa片 | 精品三级在线观看 | 欧美日韩一区二区三区在线播放 | 中文字幕精品久久久久人妻红杏ⅰ | 精品视频一区二区在线 | 国产网站无遮挡 | 国产夫妻性生活 | av黄色小说 | 久久久久久国产精品 | 男生插女生视频在线观看 | 99国产精品99久久久久久 | 姑娘第5集高清在线观看 | 69久久精品无码一区二区 | 99免费视频 | 无码人妻精品一区二区三区在线 | 久久人人超碰 | 男女做那个视频 | 免费在线一区二区 | av电影在线网站 | 亚洲无在线观看 | 国产巨乳在线观看 | 国产一区久久 | 日日摸夜夜添狠狠添欧美 | 成人午夜高清 | 超碰在线亚洲 | 二级黄色录像 | 99热国产在线 | 亚洲精品国产99 | 亚洲伦理天堂 | 女生扒开尿口让男生桶 | 国模无码大尺度一区二区三区 | 免费一区| 亚洲字幕在线观看 | 久久久精品国产免费爽爽爽 | 国产精品夜夜嗨 | 国产高清小视频 | 91禁动漫在线 | 男人天堂社区 | 青青草色视频 | 男人天堂久久久 | 日韩精品视频在线 | 91操人 | 国产一区免费 | 野花视频在线观看免费 | 国产小视频在线免费观看 | 歪歪视频在线观看 | 日韩女优在线播放 | 亚洲国产欧洲 | 男女激情免费网站 | 黄色小说视频 | 国产精品久久久久久一区二区 | 国产欧美日韩久久 | 成人免费视频观看 | 欧美第九页 | 香港一级纯黄大片 | 欧美激情在线 |