首页 > 数据库 >mysql分区表

mysql分区表

时间:2024-08-09 11:20:07浏览次数:13  
标签:LESS 分区 PARTITION 分区表 VALUES mysql 列值

MySQL支持分区表,这允许将大型数据集分割成更小、更易管理的部分。分区表可以提高查询性能,因为查询可以仅在所需的分区上运行,并且可以简化数据维护,例如删除旧数据。

以下是创建分区表的基本步骤:

选择分区类型:

RANGE分区:基于列值将数据划分到不同的分区。

LIST分区:基于列值列表将数据划分到不同的分区。

HASH分区:基于列值的哈希函数将数据划分到不同的分区。

KEY分区:类似于HASH分区,使用MySQL内部的哈希函数。

创建分区表:

例如,以下是一个使用RANGE分区的表的创建示例,该表按照某个列的值范围进行分区:

CREATE TABLE employees (

    id INT,

    name VARCHAR(100),

    hired_date DATE

PARTITION BY RANGE ( YEAR(hired_date) ) (

    PARTITION p0 VALUES LESS THAN (1991),

    PARTITION p1 VALUES LESS THAN (1996),

    PARTITION p2 VALUES LESS THAN (2001),

    PARTITION p3 VALUES LESS THAN (2006),

    PARTITION p4 VALUES LESS THAN MAXVALUE

);

================================

查询分区

select * from tab1 partition(p1);

=========================================

清理分区重建

最好备份一下这个表,再执行:

alter table pbm_mis_visa_history_summary_mid_9999 remove partitioning;

alter table pbm_mis_visa_history_summary_mid_999 /*!50500 PARTITION BY LIST COLUMNS(pbm_batch_date)

(PARTITION p20230223 VALUES IN ('2023-02-23') ENGINE = InnoDB,

 PARTITION p20230224 VALUES IN ('2023-02-24') ENGINE = InnoDB,

 PARTITION p20230225 VALUES IN ('2023-02-25') ENGINE = InnoDB) */;

MySQL支持分区表,这允许将大型数据集分割成更小、更易管理的部分。分区表可以提高查询性能,因为查询可以仅在所需的分区上运行,并且可以简化数据维护,例如删除旧数据。

以下是创建分区表的基本步骤:

  1.  

    选择分区类型:

     

     

     

     

      • RANGE分区:基于列值将数据划分到不同的分区。

         

         

     

     

      • LIST分区:基于列值列表将数据划分到不同的分区。

         

         

     

     

      • HASH分区:基于列值的哈希函数将数据划分到不同的分区。

         

         

     

     

      • KEY分区:类似于HASH分区,使用MySQL内部的哈希函数。

         

         

     

     

     

  2.  

    创建分区表:

     

     

例如,以下是一个使用RANGE分区的表的创建示例,该表按照某个列的值范围进行分区:

标签:LESS,分区,PARTITION,分区表,VALUES,mysql,列值
From: https://www.cnblogs.com/myxinyang/p/18350432

相关文章

  • Mysql 8.0新特性详解
    建议使用8.0.17及之后的版本,更新的内容比较多。1、新增降序索引MySQL在语法上很早就已经支持降序索引,但实际上创建的仍然是升序索引,如下MySQL5.7所示,c2字段降序,但是从showcreatetable看c2仍然是升序。8.0可以看到,c2字段降序。只有Innodb存储引擎支持降序索引。#====MyS......
  • 连接云数据库RDS for MySQL的全方位指南
    在云端高效管理数据,掌握连接RDSforMySQL的技巧一、应用程序访问VPC内RDSforMySQL实例的正确姿势确保您的应用程序所在的ECS与RDSforMySQL实例位于同一VPC。若不在,请调整VPC的路由表和网络ACL,以便ECS能够顺利访问RDSforMySQL实例。二、外部服务器访问云数据库RDSfor......
  • nodejs语言,MySQL数据库;springboot的个性化资讯推荐系统66257(免费领源码)计算机毕业设计
    摘 要随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,个性化资讯推荐系统当然也不能排除在外。个性化资讯推荐系统是以实际运用为开发背景,运用软件工程原理和开发方法,采用springboot技术构建的一个管理系统。整......
  • node.js: mysql sequelize es6 ORM in vscode
    mysql:select*fromtutorials;#CREATETABLEIFNOTEXISTS`tutorials`(`id`INTEGERNOTNULLauto_increment,`title`VARCHAR(255),`description`VARCHAR(255),`published`TINYINT(1),`createdAt`DATETIMENOTNULL,`updatedAt`DATETIMENOTNULL,PRIMA......
  • MySQL体系结构及存储引擎
    一、MySQL体系结构二、存储引擎        存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。不同的表可以指定不同的存储引擎。默认为InnoDB。--查询建表语句showcreatetable[表......
  • MySQL:修改数据库密码及开启外部访问数据库
    修改数据库密码cd到数据库bin路径下mysql.exe-uroot-p登录成功ALTERUSER'root'@'localhost'IDENTIFIEDBY'123456';再打开一个cmd重新登陆mysql.exe-uroot-p登录成功开启外部访问数据库回到上层路径找到my.ini将内容bind-address行注释掉或者改成0.0.0.0......
  • MySQL4多表查询 内连接
    多表查询数据准备CREATEDATABASEdb4;USEdb4;--创建部门表createtableifnotexistsdept(deptnovarchar(20)primarykey,--部门号namevarchar(20)--部门名字);--创建员工表createtableifnotexistsemp(eidvarchar(20)primarykey......
  • 【mysql随机获取3条不重复数据】最佳实践
    需求:从商品库中随机获取3个不重复的商品,推荐给用户。假设product表数据为10000行。方案一【最佳实际】1.mysql数据库中获取所有商品数据的IDselectidfromproduct;2.通过Java获取随机3个商品ID//假设List中存的为上述数据库ID值List<Integer>productIdList=newA......
  • Mysql:初始化
    免费的社区版下载地址:https://dev.mysql.com/downloads/mysql 下载mysql.zip包,直接解压cdmysql-8.0.28-winx64新增my.ini文件[mysql]default-character-set=utf8#默认字符集[mysqld]port=3306#端口basedir=D:/XXX/mysql-8.0.28-winx64#修改成实......
  • mysql系列之事务(三)
    1.为什么需要事务首先我们要知道什么是事务:事务(Transaction)是‌数据库系统中执行的一个工作单位,它是由用户定义的一组操作序列。一个事务可以是一组‌SQL语句、一条SQL语句或整个程序,一个应用程序可以包括多个事务。通俗易懂来说就是,我们在执行一个操作时,要保证要么都成......