日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

詳解MySQL分區表

瀏覽:284日期: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 數據庫
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久久久久自在自线| 美女久久久久久| 精品视频一二| 国产一区二区三区四区| 国产精品成人3p一区二区三区| 91福利精品在线观看| 国产欧美日韩精品一区二区三区| 亚洲一区黄色| 日韩在线a电影| 欧美日韩调教| 国产精品美女久久久久久不卡| 国产一区二区三区成人欧美日韩在线观看| 亚洲精选91| 国产日产精品_国产精品毛片| 国产精品igao视频网网址不卡日韩 | 九九久久国产| 久久久一本精品| 视频一区二区三区入口| 国产欧美亚洲一区| 色爱av综合网| 日韩一区二区三区四区五区 | 亚洲成人三区| 男人的天堂久久精品| 蜜桃一区二区三区在线| 国产精品一区二区三区四区在线观看| 红杏一区二区三区| 黄色av一区| 国产精品男女| 久久99伊人| 日韩在线短视频| 日本午夜精品| 精品91久久久久| 麻豆精品视频在线观看视频| av亚洲免费| 精品女同一区二区三区在线观看| 亚洲一区成人| 日韩欧美二区| 中文字幕av一区二区三区四区| 久久精品系列| 日本aⅴ免费视频一区二区三区| 午夜欧美巨大性欧美巨大| 日韩av网站在线免费观看| 激情久久婷婷| 蜜桃精品在线| 国产一区2区在线观看| 日韩成人午夜精品| 国产精品婷婷| 欧美成人高清| 国产伦久视频在线观看| 欧美一区=区三区| 亚洲女同中文字幕| 四虎影视精品| 精品久久精品| 国产欧美88| 国产精品亚洲片在线播放| 视频一区视频二区中文| 影音先锋久久| 亚洲欧美日韩国产一区| 另类中文字幕国产精品| 日本不良网站在线观看| 国产精品超碰| 麻豆成人综合网| 精品国产美女a久久9999| 激情久久99| 色吊丝一区二区| av一区二区高清| 男人的天堂亚洲一区| 日韩亚洲精品在线| 天堂成人国产精品一区| 亚洲毛片网站| 国产精品嫩模av在线| 精品视频99| 久久高清免费| 亚洲精选91| 久久精品国产久精国产爱| 国产传媒在线| 日韩一级精品| 国产精一区二区| 日韩视频网站在线观看| 亚洲尤物在线| 国产精品中文| 欧美91视频| 日韩精品亚洲专区在线观看| 国产精品99久久久久久董美香| 电影亚洲精品噜噜在线观看| 男女性色大片免费观看一区二区| 日韩不卡手机在线v区| 黑森林国产精品av| 亚洲精一区二区三区| 色婷婷综合网| 免费人成黄页网站在线一区二区 | 蜜臀国产一区| 日韩国产高清在线| 日本精品影院| 国产精品自拍区| 亚洲网站视频| 国产精品videossex久久发布 | 99久久99视频只有精品| 日韩1区2区3区| 丝袜美腿诱惑一区二区三区 | 日韩精品第一区| 日本免费一区二区视频| 99久久亚洲精品蜜臀| 国产亚洲欧美日韩在线观看一区二区 | 欧美欧美黄在线二区| 国精品一区二区三区| 久久国产精品美女| 日韩欧乱色一区二区三区在线| 色在线中文字幕| 麻豆视频观看网址久久| 日韩国产一二三区| 久久午夜精品一区二区| 伊人精品一区| 电影天堂国产精品| 91av亚洲| 欧美天堂视频| av在线最新| 日韩欧美综合| 亚洲播播91| 国产伦久视频在线观看| 久久精品国产亚洲一区二区三区| 日韩精品a在线观看91| 亚洲精品伦理| 日韩中出av| 国产伦精品一区二区三区在线播放 | 欧美日韩国产在线观看网站| 高清在线一区| 中文一区一区三区高中清不卡免费| 久久99久久人婷婷精品综合| 国产日本精品| 欧美亚洲tv| 卡一卡二国产精品| zzzwww在线看片免费| 五月天av在线| 欧美福利在线| 影音国产精品| 视频一区二区三区在线| 97久久亚洲| 高清久久一区| 影院欧美亚洲| 久久精品99久久久| 精品国产亚洲一区二区三区在线 | 日本午夜精品久久久久| 国产精品1区| 日本久久成人网| 亚洲成人三区| 欧美日韩网址| 天堂av在线| 三级欧美韩日大片在线看| 日韩av网站在线观看| 岛国av免费在线观看| 伊人久久大香线蕉av超碰演员| 亚洲字幕久久| 激情综合五月| 婷婷综合国产| 久久伦理在线| 久久99蜜桃| 亚洲资源网站| 久久久一本精品| 久久国产视频网| 久久精品国产99久久| 91福利精品在线观看| 国产精品av一区二区| 国产精品hd| 色8久久久久| 亚洲美洲欧洲综合国产一区| 精品一区二区三区视频在线播放| 午夜欧美在线| 超碰在线99| 美腿丝袜亚洲一区| 日本电影久久久| 免费人成网站在线观看欧美高清| 日韩深夜视频| 精品国产亚洲一区二区在线观看| 亚洲毛片一区| 99久久婷婷这里只有精品| 国精品产品一区| 牛牛精品成人免费视频| 91精品国产一区二区在线观看| 久久av在线| 视频精品一区二区| av亚洲在线观看| 午夜久久久久| 午夜亚洲福利在线老司机| 日韩视频不卡| 亚洲在线电影| 热久久国产精品| 日韩精品一二三四| 中文字幕av亚洲精品一部二部 | 精品国产美女a久久9999| 日本午夜精品一区二区三区电影 | 日韩精品一二三四| 欧美精品一线| 在线一区视频| 午夜影院欧美| 亚洲综合色婷婷在线观看| 日韩电影免费网址| 日韩欧美网址| 国产精品麻豆成人av电影艾秋| 日韩在线观看一区二区|