真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

mysql分區(qū)及分表(二)

                            MySQL分區(qū)分表(二)

創(chuàng)新互聯(lián)專注于臨江網站建設服務及定制,我們擁有豐富的企業(yè)做網站經驗。 熱誠為您提供臨江營銷型網站建設,臨江網站制作、臨江網頁設計、臨江網站官網定制、成都微信小程序服務,打造臨江網絡公司原創(chuàng)品牌,更為您提供臨江網站排名全網營銷落地服務。

測試未分區(qū)表和分區(qū)表性能

重新創(chuàng)建新的測試數(shù)據(jù)庫及未分區(qū)表back1

mysql分區(qū)及分表(二) 

創(chuàng)建分區(qū)表back2,按照年月區(qū)分

mysql分區(qū)及分表(二) 

maxvalue把對于2005的值全放在p11區(qū)里

創(chuàng)建大點的數(shù)據(jù)(方便測試的時候區(qū)分明顯分區(qū)和未分區(qū)的區(qū)別)

mysql分區(qū)及分表(二) 

rand()函數(shù)在0和1之間產生一個隨機數(shù),如果一個整數(shù)參數(shù)N指定,它被用作種子值。。每個種子產生的隨機數(shù)序列是不同的

執(zhí)行存儲過程load_part_tab向back2中插入數(shù)據(jù)

mysql分區(qū)及分表(二) 

向back1中插入數(shù)據(jù)

mysql分區(qū)及分表(二) 

測試未分區(qū)和分區(qū)的性能

mysql分區(qū)及分表(二) 

可以通過explain語句分析執(zhí)行情況

mysql分區(qū)及分表(二) 

創(chuàng)建索引測試效果

mysql分區(qū)及分表(二) 

重啟mysqld服務 可以看出時間相差不大,如果數(shù)據(jù)大會明顯

mysql分區(qū)及分表(二) 

mysql分區(qū)類型

1.range分區(qū):基于屬于一個給定連續(xù)區(qū)間的列值,把多行給分區(qū),區(qū)間連續(xù)不能相互重疊;使用values less than定義

創(chuàng)建新的表表名為benet1

mysql分區(qū)及分表(二) 

2.list分區(qū):類似于range分區(qū),區(qū)別在于基本列值是離散值集合

list分區(qū)通過使用partition by list來實現(xiàn)

mysql分區(qū)及分表(二) 

這個可以在表中添加或刪除指定地方的記錄容易

3.hash分區(qū):允許dba通過對表的一個或多個列的hash key進行計算,最后通過hash碼不同數(shù)值對應的數(shù)據(jù)區(qū)域進行分區(qū)

使用hash算法分了四個區(qū)

mysql分區(qū)及分表(二) 

創(chuàng)建數(shù)據(jù)并且查看數(shù)據(jù)放在那個分區(qū)里

mysql分區(qū)及分表(二) 

mysql分區(qū)及分表(二) 

查看分區(qū)的詳細信息

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

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

                TABLE_CATALOG: def

                 TABLE_SCHEMA: test1

                   TABLE_NAME: benet3

               PARTITION_NAME: p0

            SUBPARTITION_NAME: NULL

   PARTITION_ORDINAL_POSITION: 1

SUBPARTITION_ORDINAL_POSITION: NULL

             PARTITION_METHOD: HASH

          SUBPARTITION_METHOD: NULL

         PARTITION_EXPRESSION: year(b)

      SUBPARTITION_EXPRESSION: NULL

        PARTITION_DESCRIPTION: NULL

                   TABLE_ROWS: 0

               AVG_ROW_LENGTH: 0

                  DATA_LENGTH: 16384

              MAX_DATA_LENGTH: NULL

                 INDEX_LENGTH: 0

                    DATA_FREE: 0

                  CREATE_TIME: 2017-06-22 18:01:56

                  UPDATE_TIME: NULL

                   CHECK_TIME: NULL

                     CHECKSUM: NULL

            PARTITION_COMMENT:

                    NODEGROUP: default

              TABLESPACE_NAME: NULL

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

                TABLE_CATALOG: def

                 TABLE_SCHEMA: test1

                   TABLE_NAME: benet3

               PARTITION_NAME: p1

            SUBPARTITION_NAME: NULL

   PARTITION_ORDINAL_POSITION: 2

SUBPARTITION_ORDINAL_POSITION: NULL

             PARTITION_METHOD: HASH

          SUBPARTITION_METHOD: NULL

         PARTITION_EXPRESSION: year(b)

      SUBPARTITION_EXPRESSION: NULL

        PARTITION_DESCRIPTION: NULL

                   TABLE_ROWS: 0

               AVG_ROW_LENGTH: 0

                  DATA_LENGTH: 16384

              MAX_DATA_LENGTH: NULL

                 INDEX_LENGTH: 0

                    DATA_FREE: 0

                  CREATE_TIME: 2017-06-22 18:01:56

                  UPDATE_TIME: NULL

                   CHECK_TIME: NULL

                     CHECKSUM: NULL

            PARTITION_COMMENT:

                    NODEGROUP: default

              TABLESPACE_NAME: NULL

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

                TABLE_CATALOG: def

                 TABLE_SCHEMA: test1

                   TABLE_NAME: benet3

               PARTITION_NAME: p2

            SUBPARTITION_NAME: NULL

   PARTITION_ORDINAL_POSITION: 3

SUBPARTITION_ORDINAL_POSITION: NULL

             PARTITION_METHOD: HASH

          SUBPARTITION_METHOD: NULL

         PARTITION_EXPRESSION: year(b)

      SUBPARTITION_EXPRESSION: NULL

        PARTITION_DESCRIPTION: NULL

                   TABLE_ROWS: 1

               AVG_ROW_LENGTH: 16384

                  DATA_LENGTH: 16384

              MAX_DATA_LENGTH: NULL

                 INDEX_LENGTH: 0

                    DATA_FREE: 0

                  CREATE_TIME: 2017-06-22 18:01:56

                  UPDATE_TIME: 2017-06-22 18:02:57

                   CHECK_TIME: NULL

                     CHECKSUM: NULL

            PARTITION_COMMENT:

                    NODEGROUP: default

              TABLESPACE_NAME: NULL

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

                TABLE_CATALOG: def

                 TABLE_SCHEMA: test1

                   TABLE_NAME: benet3

               PARTITION_NAME: p3

            SUBPARTITION_NAME: NULL

   PARTITION_ORDINAL_POSITION: 4

SUBPARTITION_ORDINAL_POSITION: NULL

             PARTITION_METHOD: HASH

          SUBPARTITION_METHOD: NULL

         PARTITION_EXPRESSION: year(b)

      SUBPARTITION_EXPRESSION: NULL

        PARTITION_DESCRIPTION: NULL

                   TABLE_ROWS: 0

               AVG_ROW_LENGTH: 0

                  DATA_LENGTH: 16384

              MAX_DATA_LENGTH: NULL

                 INDEX_LENGTH: 0

                    DATA_FREE: 0

                  CREATE_TIME: 2017-06-22 18:01:56

                  UPDATE_TIME: 2017-06-22 18:02:57

                   CHECK_TIME: NULL

                     CHECKSUM: NULL

            PARTITION_COMMENT:

                    NODEGROUP: default

              TABLESPACE_NAME: NULL

4 rows in set (0.00 sec)

 

ERROR:

No query specified

可以看到第三個分區(qū)p2中有一個數(shù)據(jù)記錄

4.key分區(qū):key分區(qū)使用mysql數(shù)據(jù)庫提供的函數(shù)進行分區(qū),ndb cluster使用md5函數(shù)分區(qū),對于其他存儲引擎mysql內部的hash函數(shù)

創(chuàng)建key分區(qū)、表、數(shù)據(jù) 查看數(shù)據(jù)會放到那個區(qū)里

mysql分區(qū)及分表(二) 

range、list、hash、key四種分區(qū),分區(qū)條件必須×××,不是×××需要通過函數(shù)將其轉換

5.columns分區(qū):從5.5開始支持columns分區(qū),可以說是range和list的進化分區(qū),可以直接使用非×××數(shù)據(jù)進行分區(qū)支持的數(shù)據(jù):

    所有×××,如INT SMALLINT TINYINT BIGINT。FLOAT和DECIMAL則不支持。
 日期類型,如DATE和DATETIME。其余日期類型不支持。
 字符串類型,如CHAR、VARCHAR、BINARY和VARBINARY。BLOB和TEXT類型不支持。
COLUMNS可以使用多個列進行分區(qū)。


本文名稱:mysql分區(qū)及分表(二)
路徑分享:http://weahome.cn/article/jeohph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部