成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

詳解MySQL分區表

瀏覽:225日期:2023-10-13 11:57:25

前言:

分區是一種表的設計模式,通俗地講表分區是將一大表,根據條件分割成若干個小表。但是對于應用程序來講,分區的表和沒有分區的表是一樣的。換句話來講,分區對于應用是透明的,只是數據庫對于數據的重新整理。本篇文章給大家帶來的內容是關于MySQL中分區表的介紹及使用場景,有需要的朋友可以參考一下,希望對你有所幫助。

1.分區的目的及分區類型

MySQL在創建表的時候可以通過使用PARTITION BY子句定義每個分區存放的數據。在執行查詢的時候,優化器根據分區定義過濾那些沒有我們需要的數據的分區,這樣查詢就可以無需掃描所有分區,只需要查找包含需要數據的分區即可。

分區的另一個目的是將數據按照一個較粗的粒度分別存放在不同的表中。這樣做可以將相關的數據存放在一起,另外,當我們想要一次批量刪除整個分區的數據也會變得很方便。

下面簡單介紹下四種常見的分區類型:

RANGE分區:最為常用,基于屬于一個給定連續區間的列值,把多行分配給分區。最常見的是基于時間字段。 LIST分區:LIST分區和RANGE分區類似,區別在于LIST是枚舉值列表的集合,RANGE是連續的區間值的集合。 HASH分區:基于用戶定義的表達式的返回值來進行選擇的分區,該表達式使用將要插入到表中的這些行的列值進行計算。這個函數可以包含MySQL中有效的、產生非負整數值的任何表達式。 KEY分區:類似于按HASH分區,區別在于KEY分區只支持計算一列或多列,且MySQL服務器提供其自身的哈希函數。必須有一列或多列包含整數值。

上述四種分區類型中,RANGE分區 即范圍分區是最常用的。RANGE分區的特點是多個分區的范圍要連續,但是不能重疊,默認情況下使用VALUES LESS THAN屬性,即每個分區不包括指定的那個值。

2.分區操作示例

本節內容以RANGE分區為例,介紹下分區表相關的操作。

# 創建分區表mysql> CREATE TABLE `tr` ( -> `id` INT, -> `name` VARCHAR(50), -> `purchased` DATE -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 -> PARTITION BY RANGE( YEAR(purchased) ) ( -> PARTITION p0 VALUES LESS THAN (1990), -> PARTITION p1 VALUES LESS THAN (1995), -> PARTITION p2 VALUES LESS THAN (2000), -> PARTITION p3 VALUES LESS THAN (2005), -> PARTITION p4 VALUES LESS THAN (2010), -> PARTITION p5 VALUES LESS THAN (2015) -> );Query OK, 0 rows affected (0.28 sec)# 插入數據mysql> INSERT INTO `tr` VALUES -> (1, ’desk organiser’, ’2003-10-15’), -> (2, ’alarm clock’, ’1997-11-05’), -> (3, ’chair’, ’2009-03-10’), -> (4, ’bookcase’, ’1989-01-10’), -> (5, ’exercise bike’, ’2014-05-09’), -> (6, ’sofa’, ’1987-06-05’), -> (7, ’espresso maker’, ’2011-11-22’), -> (8, ’aquarium’, ’1992-08-04’), -> (9, ’study desk’, ’2006-09-16’), -> (10, ’lava lamp’, ’1998-12-25’);Query OK, 10 rows affected (0.03 sec)Records: 10 Duplicates: 0 Warnings: 0

創建后可以看到,每個分區都會對應1個ibd文件。上面創建語句還是很好理解的,在此分區表中,通過YEAR函數取出DATE日期中的年份并轉化為整型,年份小于1990的存儲在分區p0中,小于1995的存儲在分區p1中,以此類推。請注意,每個分區的定義順序是從最低到最高。為了防止插入的數據因找不到相應分區而報錯,我們應該及時創建新的分區。下面繼續展示關于分區維護的其他操作。

# 查看某個分區的數據mysql> SELECT * FROM tr PARTITION (p2);+------+-------------+------------+| id | name | purchased |+------+-------------+------------+| 2 | alarm clock | 1997-11-05 || 10 | lava lamp | 1998-12-25 |+------+-------------+------------+2 rows in set (0.00 sec)# 增加分區mysql> alter table tr add partition( -> PARTITION p6 VALUES LESS THAN (2020) -> );Query OK, 0 rows affected (0.06 sec)Records: 0 Duplicates: 0 Warnings: 0# 拆分分區mysql> alter table tr reorganize partition p5 into( -> partition s0 values less than(2012), -> partition s1 values less than(2015) -> );Query OK, 0 rows affected (0.26 sec)Records: 0 Duplicates: 0 Warnings: 0# 合并分區mysql> alter table tr reorganize partition s0,s1 into ( -> partition p5 values less than (2015) -> );Query OK, 0 rows affected (0.12 sec)Records: 0 Duplicates: 0 Warnings: 0# 清空某分區的數據mysql> alter table tr truncate partition p0;Query OK, 0 rows affected (0.11 sec)# 刪除分區mysql> alter table tr drop partition p1;Query OK, 0 rows affected (0.06 sec)Records: 0 Duplicates: 0 Warnings: 0# 交換分區# 先創建與分區表同樣結構的交換表mysql> CREATE TABLE `tr_archive` ( -> `id` INT, -> `name` VARCHAR(50), -> `purchased` DATE -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;Query OK, 0 rows affected (0.28 sec)# 執行exchange交換分區mysql> alter table tr exchange PARTITION p2 with table tr_archive;Query OK, 0 rows affected (0.13 sec)

3.分區注意事項及適用場景

其實分區表的使用有很多限制和需要注意的事項,參考官方文檔,簡要總結幾點如下:

分區字段必須是整數類型或解析為整數的表達式。 分區字段建議設置為NOT NULL,若某行數據分區字段為null,在RANGE分區中,該行數據會劃分到最小的分區里。 MySQL分區中如果存在主鍵或唯一鍵,則分區列必須包含在其中。 Innodb分區表不支持外鍵。 更改sql_mode模式可能影響分區表的表現。 分區表不影響自增列。

從上面的介紹中可以看出,分區表適用于一些日志記錄表。這類表的特點是數據量大、并且有冷熱數據區分,可以按照時間維度來進行數據歸檔。這類表是比較適合使用分區表的,因為分區表可以對單獨的分區進行維護,對于數據歸檔更方便。

4.分區表為什么不常用

在我們項目開發中,分區表其實是很少用的,下面簡單說明下幾點原因:

分區字段的選擇有限制。 若查詢不走分區鍵,則可能會掃描所有分區,效率不會提升。 若數據分布不均,分區大小差別較大,可能性能提升也有限。 普通表改造成分區表比較繁瑣。 需要持續對分區進行維護,比如到了6月份前就要新增6月份的分區。 增加學習成本,存在未知風險。

總結:

本文較為詳細的介紹了MySQL分區相關內容,如果想使用分區表的話,建議提早做好規劃,在初始化的時候即創建分區表并制定維護計劃,使用得當還是比較方便的,特別是有歷史數據歸檔需求的表,使用分區表會使歸檔更方便。當然,關于分區表的內容還有很多,有興趣的同學可以找找官方文檔,官方文檔中有大量示例。

以上就是詳解MySQL分區表的詳細內容,更多關于MySQL分區表的資料請關注好吧啦網其它相關文章!

標簽: MySQL 數據庫
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
丝袜诱惑制服诱惑色一区在线观看| 丁香桃色午夜亚洲一区二区三区| 午夜精品久久久久久久| 91免费视频观看| 精品久久久久久久久久久久久久久久久| 久久99久久99精品免视看婷婷 | 亚洲国产视频一区二区| 亚洲国产精品一区二区第一页| 国产日韩欧美制服另类| 成人av资源在线观看| 91精品国产91久久久久久最新毛片 | 99国产欧美另类久久久精品| 91精品久久久久久蜜臀| 九九国产精品视频| 欧美日韩国产综合一区二区| 久久精品国产99久久6| 欧美日韩一区在线观看| 韩国毛片一区二区三区| 欧美精品一卡两卡| 国产在线精品一区二区三区不卡 | 91在线视频18| 久久日一线二线三线suv| 激情久久久久久久久久久久久久久久| 在线免费不卡视频| 裸体一区二区三区| 欧美日韩精品综合在线| 韩国成人福利片在线播放| 欧美日韩高清一区二区三区| 国产呦精品一区二区三区网站| 91精品国产欧美一区二区| 成人午夜av在线| 精品久久久久久久久久久久久久久久久| 国产成人午夜片在线观看高清观看| 777色狠狠一区二区三区| 国产1区2区3区精品美女| 精品美女一区二区三区| 91在线你懂得| 中文字幕精品—区二区四季| 欧美日韩国产精品一区二区亚洲| 中文天堂在线一区| 影音先锋久久| 亚洲一区二区黄色| 欧洲国产伦久久久久久久| 久久精品国产第一区二区三区| 制服.丝袜.亚洲.另类.中文| 国产69精品久久777的优势| 日韩手机在线导航| 女人天堂亚洲aⅴ在线观看| 日本一区二区成人在线| 亚洲第一伊人| 午夜精品视频在线观看| 欧美曰成人黄网| 国产精品自拍网站| 久久综合久久综合亚洲| 国产精品xvideos88| 亚洲免费观看在线观看| 日本精品免费观看高清观看| 国产伦精一区二区三区| 国产欧美一区二区三区在线看蜜臀| 国产精品啊啊啊| 亚洲成a人在线观看| 欧美日韩一区二区三区四区五区 | 亚洲一区二区三区国产| 91福利在线免费观看| 国产成人午夜精品5599| 中文字幕在线一区免费| 久久国产主播| 国产精品中文欧美| 国产无一区二区| 国产精品日韩二区| 久久成人久久爱| 国产午夜亚洲精品羞羞网站| 国产精品夜夜夜| 国产一区福利在线| 国产精品私人影院| 久久一区二区三区四区五区 | 日韩一区二区不卡| 国产精品大片免费观看| 丝瓜av网站精品一区二区| 日韩色在线观看| 亚洲精品男同| 国产在线一区二区综合免费视频| 国产欧美日韩精品a在线观看| 亚洲一区三区电影在线观看| 国产综合久久久久久鬼色| 26uuu国产日韩综合| 国产日韩欧美一区二区三区在线观看| 免费观看一级欧美片| 久久精品亚洲一区二区三区浴池 | 先锋影音国产一区| 国产成人精品亚洲777人妖| 国产精品视频yy9299一区| 一本色道**综合亚洲精品蜜桃冫| 福利电影一区二区| 一区二区在线观看不卡| 欧美老人xxxx18| 国内精品**久久毛片app| 奇米色777欧美一区二区| 久久久精品人体av艺术| 久久综合狠狠综合久久综青草| www.日本不卡| 日韩国产在线观看一区| 久久久久9999亚洲精品| 91福利在线播放| 激情久久久久久久| 国产一区二区三区久久悠悠色av| 亚洲人成电影网站色mp4| 欧美日韩一区二区三区在线| 欧美成ee人免费视频| 亚洲天堂免费看| 99久久99久久综合| 一本久道综合久久精品| 高清久久久久久| 亚洲猫色日本管| 欧美成人伊人久久综合网| 鲁鲁狠狠狠7777一区二区| 不卡av电影在线播放| 亚洲h动漫在线| 国产欧美日韩在线看| 麻豆成人综合网| 9人人澡人人爽人人精品| 欧美日本不卡高清| 在线免费高清一区二区三区| 免费在线观看成人av| 日韩欧美一二三区| 欧美—级在线免费片| ●精品国产综合乱码久久久久| 国产一区二区不卡| 精品视频1区2区3区| 午夜激情一区二区三区| 亚洲高清视频在线| 韩国av一区| 精品久久久久99| 国模娜娜一区二区三区| 国产精品视频免费一区| 国产亚洲成av人在线观看导航| 欧美日韩国产美| 性色一区二区三区| 好吊色欧美一区二区三区视频| 成人一区二区三区| 美女脱光内衣内裤视频久久影院| 一区二区三区在线观看网站| 久久免费的精品国产v∧| 制服丝袜亚洲精品中文字幕| 日本韩国欧美一区| 国产亚洲福利| 午夜日本精品| 国产福利一区在线观看| 老司机午夜精品| 日韩专区中文字幕一区二区| 亚洲一区二区欧美日韩| 亚洲品质自拍视频网站| 国产精品久久午夜夜伦鲁鲁| 久久综合久久久久88| 日韩视频一区二区| 911国产精品| 欧美欧美欧美欧美首页| 在线观看亚洲精品| 久久一二三四| 美玉足脚交一区二区三区图片| 亚洲成人久久影院| 亚洲中国最大av网站| 中文字幕亚洲电影| 国产精品麻豆欧美日韩ww| 久久新电视剧免费观看| 欧美一区二区三区在线观看| 在线观看免费一区| 久久久国产精品一区二区三区| 日韩天堂av| 亚洲茄子视频| 最新日韩av| 亚洲经典三级| 亚洲性图久久| 亚洲无吗在线| 狠狠色噜噜狠狠狠狠色吗综合| 欧美日韩影院| 精品二区久久| 亚洲国内欧美| 亚洲人体一区| 亚洲深夜av| 美女精品在线观看| 91成人国产精品| 精品视频全国免费看| 欧美美女网站色| 欧美一区在线视频| 欧美一区二区视频在线观看| 日韩一卡二卡三卡四卡| 欧美不卡一区二区三区四区| 欧美大胆一级视频| 久久久久97国产精华液好用吗| 久久女同性恋中文字幕| 国产亚洲精品bt天堂精选| 国产婷婷色一区二区三区四区 | 国产精品vip| 尤物在线精品| 国产精品久久波多野结衣| 久久国产精品99国产| 在线观看免费视频综合| 91.成人天堂一区| 精品成人在线观看|