iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql分区及分表(二)
  • 255
分享到

mysql分区及分表(二)

2024-04-02 19:04:59 255人浏览 泡泡鱼
摘要

                            Mysql

                            Mysql分区分表(二)

测试未分区表和分区表性能

重新创建新的测试数据库及未分区表back1

mysql分区及分表(二) 

创建分区表back2,按照年月区分

mysql分区及分表(二) 

maxvalue把对于2005的值全放在p11区里

创建大点的数据(方便测试的时候区分明显分区和未分区的区别)

mysql分区及分表(二) 

rand()函数在0和1之间产生一个随机数,如果一个整数参数N指定,它被用作种子值。。每个种子产生的随机数序列是不同的

执行存储过程load_part_tab向back2中插入数据

mysql分区及分表(二) 

向back1中插入数据

mysql分区及分表(二) 

测试未分区和分区的性能

mysql分区及分表(二) 

可以通过explain语句分析执行情况

mysql分区及分表(二) 

创建索引测试效果

mysql分区及分表(二) 

重启mysqld服务 可以看出时间相差不大,如果数据大会明显

mysql分区及分表(二) 

mysql分区类型

1.range分区:基于属于一个给定连续区间的列值,把多行给分区,区间连续不能相互重叠;使用values less than定义

创建新的表表名为benet1

mysql分区及分表(二) 

2.list分区:类似于range分区,区别在于基本列值是离散值集合

list分区通过使用partition by list来实现

mysql分区及分表(二) 

这个可以在表中添加或删除指定地方的记录容易

3.hash分区:允许dba通过对表的一个或多个列的hash key进行计算,最后通过hash码不同数值对应的数据区域进行分区

使用hash算法分了四个区

mysql分区及分表(二) 

创建数据并且查看数据放在那个分区里

mysql分区及分表(二) 

mysql分区及分表(二) 

查看分区的详细信息

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

可以看到第三个分区p2中有一个数据记录

4.key分区:key分区使用mysql数据库提供的函数进行分区,ndb cluster使用md5函数分区,对于其他存储引擎mysql内部的hash函数

创建key分区、表、数据 查看数据会放到那个区里

mysql分区及分表(二) 

range、list、hash、key四种分区,分区条件必须×××,不是×××需要通过函数将其转换

5.columns分区:从5.5开始支持columns分区,可以说是range和list的进化分区,可以直接使用非×××数据进行分区支持的数据:

    所有×××,如INT SMALLINT TINYINT BIGINT。FLOAT和DECIMAL则不支持。
  日期类型,如DATE和DATETIME。其余日期类型不支持。
  字符串类型,如CHAR、VARCHAR、BINARY和VARBINARY。BLOB和TEXT类型不支持。
COLUMNS可以使用多个列进行分区。


您可能感兴趣的文档:

--结束END--

本文标题: mysql分区及分表(二)

本文链接: https://www.lsjlt.com/news/40707.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL分区表的分区原理及优缺点
    这篇文章主要介绍“MySQL分区表的分区原理及优缺点”,在日常操作中,相信很多人在MySQL分区表的分区原理及优缺点问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL分...
    99+
    2024-04-02
  • mysql分区表:日期分区
    mysql分区表:日期分区 1.创建分区表2.查看分区3.添加分区4.存储过程:分区删除与创建5.事件定时6.触发器设计:子表每插入一行,总表获得一行7.创建索引8.添加枚举型字段 1.创建分区表 CREATE TAB...
    99+
    2023-08-21
    mysql 数据库
  • MySql的分表分库分片以及分区是怎样的
    今天就跟大家聊聊有关MySql的分表分库分片以及分区是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、前言数据库的数据量达到一定程度之后,为...
    99+
    2024-04-02
  • mysql分表分区的示例分析
    这篇文章给大家介绍mysql分表分区的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。面对当今大数据存储,设想当mysql中一个表的总记录超过1000W,会出现性能的大幅度下降吗...
    99+
    2024-04-02
  • MySQL 分区表设计
    MySQL 分区表设计 1、分区表设计方案 当设计 MySQL 分区表时,需要考虑以下几个方面:分区策略、分区字段、分区数量和分区函数。下面是一个详细的示例,展示了如何设计和执行分区表的增删改查操...
    99+
    2023-10-05
    mysql 数据库 分区表 sql
  • mysql分区表笔记
    mysql分区表    mysql分区表是一个独立的逻辑表,但是底层由多个物理字表组成。    对分区的请求,都会通过句柄对象转化成对存储引擎接口的调用。所以分区对于...
    99+
    2024-04-02
  • 转:Mysql 分区 分表相关总结
    拆分策略选择 其实拆分很灵活,有的是垂直切分,将一个库拆成两个或多个,将有相关联的表放在一个库里。有的是水平切分将数据量大的表按照一定逻辑进行拆分。个人感觉垂直切分的相对来说缓解了IO的瓶颈,而水...
    99+
    2024-04-02
  • MySql中的分表、分库、分片和分区的分析
    本篇内容介绍了“MySql中的分表、分库、分片和分区的分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!&...
    99+
    2024-04-02
  • mysql 5.6分区表应用
    mysql 5.6分区表测试:DROP TABLE IF EXISTS `my_orders`;CREATE TABLE `my_orders` (  `id` int(10) unsig...
    99+
    2024-04-02
  • mysql创建表分区详细介绍及示例
    mysql创建表分区详细介绍及示例 1. 基本概念1.1 什么是表分区?1.2 表分区与分表的区别1.3 表分区有什么好处?1.4 分区表的限制因素 2. 如何判断当前MySQL是否支持分区?3.分区类型详解3.1 MySQL支...
    99+
    2023-08-17
    mysql 数据库 java
  • mysql中分表与分区的区别是什么
    这篇文章将为大家详细讲解有关mysql中分表与分区的区别是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一,什么是mysql分表,分区什么是分表,从表面...
    99+
    2024-04-02
  • MySQL分区表和分桶表的操作详解
    目录1.创建分区表2.增删改查操作2.1 插入数据2.2 操作数据3. 二级分区表3.1 创建分区表3.2 插入数据4.动态分区5.分桶表5.1 新建分桶表5.2 插入数据5.3 既分区有分桶6 分区与分桶的区别1.创建...
    99+
    2023-05-12
    MySQL分区表和分桶表 MySQL分区表 MySQL分桶表
  • MySQL分库分表与分区的入门指南
    前言 关系型数据库比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限,当数据量和并发量起来之后,就必须对数据库进行切分了。 数据切分(sharding)的手段就是分库分表。...
    99+
    2024-04-02
  • MySQL分区建索引以及分区介绍总结
    目录MySQL 分区建索引介绍MySQL 分区介绍介绍总结MySQL 分区建索引介绍 mysql分区后每个分区成了独立的文件,虽然从逻辑上还是一张表其实已经分成了多张独立的表,从&l...
    99+
    2024-04-02
  • MySQL分区表原理的示例分析
    这篇文章主要为大家展示了“MySQL分区表原理的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL分区表原理的示例分析”这篇文章吧。1、分区表含义...
    99+
    2024-04-02
  • MySQL实现清空分区表单个分区数据
    目录mysql清空分区表单个分区数据1.单个分区清空2.编辑存储过程MySQL自动分区自动清理完整的SQL查看分区总结MySQL清空分区表单个分区数据 1.单个分区清空 ALTER TABLE xxx TRUN...
    99+
    2023-03-13
    MySQL清空分区表 MySQL分区数据 MySQL分区表
  • mysql如何创建分区表
    MySQL可以通过以下步骤来创建分区表:1. 创建一个普通的表,定义它的列和其他属性。2. 使用`ALTER TABLE`语句来添加...
    99+
    2023-10-12
    mysql
  • 一文读懂MySQL 表分区
    目录1. 什么是表分区2. 分区的两种方式2.1 水平切分2.2 垂直切分3. 为什么需要表分区4. 分区实践4.1 RANGE 分区4.2 LIST 分区4.3 HASH 分区4....
    99+
    2024-04-02
  • 如何使用MySQL分区表
    这篇文章给大家介绍如何使用MySQL分区表,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。分区是一种表的设计模式,通俗地讲表分区是将一大表,根据条件分割成若干个小表。但是对于应用程序来讲...
    99+
    2024-04-02
  • MySql分表、分库、分片和分区知识点有哪些
    这篇文章主要介绍了MySql分表、分库、分片和分区知识点有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、前言   ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作