中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql分區及分表(一)

發布時間:2020-06-17 10:16:32 來源:網絡 閱讀:567 作者:攀巖人生 欄目:MySQL數據庫

                              mysql分區分表

1.分表是將一個大表按照一定的規則分解成多張具有獨立存儲空間的實體表,每個表都對應三個文件,MYD數據文件,.MYI索引文件,.frm表結構文件

mysql分表分為垂直切分和水平切分

垂直切分是指數據表列的拆分,把一張列比較多的表拆分為多張表通常我們按以下原則進行垂直拆分:把不常用的字段單獨放在一張表; 水平拆分是指數據表行的拆分,把一張的表的數據拆成多張表來存放。

水平拆分原則:通常情況下,我們使用hash、取模等方式來進行表的拆分

通過用ID取模的方法把數據分散到四張表內Id%4= [0,1,2,3]

然后查詢,更新,刪除也是通過取模的方法來查詢

分表的幾種方式:

1mysql集群

它并不是分表,但起到了和分表相同的作用。

2)預先估計會出現大數據量并且訪問頻繁的表,將其分為若干個表

根據一定的算法(如用hash的方式,也可以用求余(取模)的方式)讓用戶訪問不同的表。

3)利用merge存儲引擎來實現分表

如果要把已有的大數據量表分開比較痛苦,最痛苦的事就是改代碼,因為程序里面的sql語句已經寫好了,用merge存儲引擎來實現分表, 這種方法比較適合。

2、分區

分區和分表相似,都是按照規則分解表。不同在于分表將大表分解為若干個獨立的實體表,而分區是將數據分段劃分在多個位置存放,分區后,表還是一張表,但數據散列到多個位置了。

分區主要有兩種形式:

水平分區(Horizontal Partitioning)這種形式分區是對表的行進行分區,所有在表中定義的列在每個數據集中都能找到,所以表的特性依然得以保持。

垂直分區(Vertical Partitioning)這種分區方式一般來說是通過對表的垂直劃分來減少目標表的寬度,使某些特定的列被劃分到特定的分區,每個分區都包含了其中的列所對應的行。

創建測試數據庫

mysql分區及分表(一) 

創建表

 

mysql分區及分表(一) 

在表里面插入數據,查看表的結構,表的數據

mysql分區及分表(一) 

執行insert*****語句可以以倍數增加數據,查看創建的數據

mysql分區及分表(一) 

進行分表,分為一個主表為back1,從表為back2back3

mysql分區及分表(一) 

INSERT_METHOD,此參數INSERT_METHOD = NO 表示該表不能做任何寫入操作只作為查詢使用,INSERT_METHOD = LAST表示插入到最后的一張表里面。INSERT_METHOD = first表示插入到第一張表里面。

把數據分到兩個從表中,并且查看子表的數據

mysql分區及分表(一) 

mysql分區及分表(一) 

查看目錄數據里有沒有創建的表

mysql分區及分表(一) 

分區:

查看是否支持分區

mysql版本如果是5.6之前的使用第一個查看  5.6之后選擇第二個

mysql分區及分表(一) 

在第二個查詢結果里查看是否支持分區

mysql分區及分表(一) 

active表示支持分區

創建新的測試數據庫

mysql分區及分表(一) 

創建數據,創建一個范圍的分區表  maxvalue:從最大放入

mysql分區及分表(一) 

插入數據

mysql分區及分表(一) 

查看數據的目錄里有沒有分區

mysql分區及分表(一) 

從系統庫中查看分區表的信息

mysql> select * from information_schema.partitions where table_schema='test2' and table_name='user'\G;

*************************** 1. row ***************************

                TABLE_CATALOG: def

                 TABLE_SCHEMA: test2

                   TABLE_NAME: user

               PARTITION_NAME: p0

            SUBPARTITION_NAME: NULL

   PARTITION_ORDINAL_POSITION: 1

SUBPARTITION_ORDINAL_POSITION: NULL

             PARTITION_METHOD: RANGE

          SUBPARTITION_METHOD: NULL

         PARTITION_EXPRESSION: id

      SUBPARTITION_EXPRESSION: NULL

        PARTITION_DESCRIPTION: 3

                   TABLE_ROWS: 2

               AVG_ROW_LENGTH: 8192

                  DATA_LENGTH: 16384

              MAX_DATA_LENGTH: NULL

                 INDEX_LENGTH: 0

                    DATA_FREE: 0

                  CREATE_TIME: 2017-06-20 17:44:03

                  UPDATE_TIME: 2017-06-20 17:45:04

                   CHECK_TIME: NULL

                     CHECKSUM: NULL

            PARTITION_COMMENT:

                    NODEGROUP: default

              TABLESPACE_NAME: NULL

*************************** 2. row ***************************

                TABLE_CATALOG: def

                 TABLE_SCHEMA: test2

                   TABLE_NAME: user

               PARTITION_NAME: p1

            SUBPARTITION_NAME: NULL

   PARTITION_ORDINAL_POSITION: 2

SUBPARTITION_ORDINAL_POSITION: NULL

             PARTITION_METHOD: RANGE

          SUBPARTITION_METHOD: NULL

         PARTITION_EXPRESSION: id

      SUBPARTITION_EXPRESSION: NULL

        PARTITION_DESCRIPTION: 6

                   TABLE_ROWS: 3

               AVG_ROW_LENGTH: 5461

                  DATA_LENGTH: 16384

              MAX_DATA_LENGTH: NULL

                 INDEX_LENGTH: 0

                    DATA_FREE: 0

                  CREATE_TIME: 2017-06-20 17:44:03

                  UPDATE_TIME: 2017-06-20 17:45:19

                   CHECK_TIME: NULL

                     CHECKSUM: NULL

            PARTITION_COMMENT:

                    NODEGROUP: default

              TABLESPACE_NAME: NULL

*************************** 3. row ***************************

                TABLE_CATALOG: def

                 TABLE_SCHEMA: test2

                   TABLE_NAME: user

               PARTITION_NAME: p2

            SUBPARTITION_NAME: NULL

   PARTITION_ORDINAL_POSITION: 3

SUBPARTITION_ORDINAL_POSITION: NULL

             PARTITION_METHOD: RANGE

          SUBPARTITION_METHOD: NULL

         PARTITION_EXPRESSION: id

      SUBPARTITION_EXPRESSION: NULL

        PARTITION_DESCRIPTION: 9

                   TABLE_ROWS: 3

               AVG_ROW_LENGTH: 5461

                  DATA_LENGTH: 16384

              MAX_DATA_LENGTH: NULL

                 INDEX_LENGTH: 0

                    DATA_FREE: 0

                  CREATE_TIME: 2017-06-20 17:44:03

                  UPDATE_TIME: 2017-06-20 17:45:36

                   CHECK_TIME: NULL

                     CHECKSUM: NULL

            PARTITION_COMMENT:

                    NODEGROUP: default

              TABLESPACE_NAME: NULL

*************************** 4. row ***************************

                TABLE_CATALOG: def

                 TABLE_SCHEMA: test2

                   TABLE_NAME: user

               PARTITION_NAME: p3

            SUBPARTITION_NAME: NULL

   PARTITION_ORDINAL_POSITION: 4

SUBPARTITION_ORDINAL_POSITION: NULL

             PARTITION_METHOD: RANGE

          SUBPARTITION_METHOD: NULL

         PARTITION_EXPRESSION: id

      SUBPARTITION_EXPRESSION: NULL

        PARTITION_DESCRIPTION: 12

                   TABLE_ROWS: 3

               AVG_ROW_LENGTH: 5461

                  DATA_LENGTH: 16384

              MAX_DATA_LENGTH: NULL

                 INDEX_LENGTH: 0

                    DATA_FREE: 0

                  CREATE_TIME: 2017-06-20 17:44:03

                  UPDATE_TIME: 2017-06-20 17:45:54

                   CHECK_TIME: NULL

                     CHECKSUM: NULL

            PARTITION_COMMENT:

                    NODEGROUP: default

              TABLESPACE_NAME: NULL

*************************** 5. row ***************************

                TABLE_CATALOG: def

                 TABLE_SCHEMA: test2

                   TABLE_NAME: user

               PARTITION_NAME: p4

            SUBPARTITION_NAME: NULL

   PARTITION_ORDINAL_POSITION: 5

SUBPARTITION_ORDINAL_POSITION: NULL

             PARTITION_METHOD: RANGE

          SUBPARTITION_METHOD: NULL

         PARTITION_EXPRESSION: id

      SUBPARTITION_EXPRESSION: NULL

        PARTITION_DESCRIPTION: MAXVALUE

                   TABLE_ROWS: 1

               AVG_ROW_LENGTH: 16384

                  DATA_LENGTH: 16384

              MAX_DATA_LENGTH: NULL

                 INDEX_LENGTH: 0

                    DATA_FREE: 0

                  CREATE_TIME: 2017-06-20 17:44:03

                  UPDATE_TIME: 2017-06-20 17:45:57

                   CHECK_TIME: NULL

                     CHECKSUM: NULL

            PARTITION_COMMENT:

                    NODEGROUP: default

              TABLESPACE_NAME: NULL

5 rows in set (0.00 sec)

ERROR:

No query specified

p0分區中查看數據

mysql分區及分表(一) 

刪除p4分區

mysql分區及分表(一) 

添加新增分區

mysql分區及分表(一) 

刪除該區的所有記錄

alter table 表名 drop partition 區名;

分區合并把p0,p1,p2合并成p01,p02

mysql分區及分表(一) 

查看數據是否合并

mysql分區及分表(一) 

查看目錄的數據是否合并成新的分區

mysql分區及分表(一) 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

天水市| 北票市| 鹤岗市| 丰原市| 北流市| 峨眉山市| 西吉县| 隆尧县| 柏乡县| 子洲县| 高尔夫| 射洪县| 广南县| 阳信县| 华安县| 龙游县| 静海县| 信阳市| 大宁县| 宜君县| 东山县| 年辖:市辖区| 成都市| 临漳县| 灵宝市| 米泉市| 依兰县| 会同县| 新宁县| 寻甸| 呼伦贝尔市| 永兴县| 襄城县| 黄石市| 蕉岭县| 光山县| 余江县| 甘南县| 嫩江县| 黄骅市| 阿克陶县|