`
michael8335
  • 浏览: 187021 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MySQL多列分区

阅读更多
一个针对MySQL5.5 COLUMNS分区的实例
创建表:
	drop table if exists partition_test;CREATE TABLE `partition_test` (
	  `t_id` int(11) NOT NULL AUTO_INCREMENT,
	  `test_date` datetime NOT NULL,
	  `t_key` varchar(16),
	  `test_info` varchar(50) DEFAULT 'test',
	  PRIMARY KEY (`t_id`,`test_date`,`t_key`)
	) ENGINE=InnoDB DEFAULT CHARSET=utf8
	PARTITION BY RANGE COLUMNS (test_date,t_key)
	(
	PARTITION p201303151 VALUES LESS THAN ('2013-03-15','m2'),
	PARTITION p201303152 VALUES LESS THAN ('2013-03-15','m3'),
	PARTITION p201303161 VALUES LESS THAN ('2013-03-16','m2'),
	PARTITION p201303162 VALUES LESS THAN ('2013-03-16','m3'),
	PARTITION p201303171 VALUES LESS THAN ('2013-03-17','m2'),
	PARTITION p201303172 VALUES LESS THAN ('2013-03-17','m3')
	);

注意两点:1、5.5新增COLUMNS分区后,时间不再需要时间转换函数;2、分区字段必须为主键
增加表分区
alter table `partition_test` add PARTITION(PARTITION p201303181 VALUES LESS THAN ('2013-03-18','m2'));

删除表分区(删除分区会删除分区中的数据)
alter table `partition_test` DROP PARTITION p201303181;
1
5
分享到:
评论

相关推荐

    mysql 数据库表分区

    - 表分区是MySQL中的一个特性,它允许将一个大表逻辑上分为多个部分,每个部分称为一个分区。这些分区在物理上可能分布在不同的磁盘上,从而分散I/O负载。 - 分区并不改变SQL语句的编写方式,用户仍能像操作单个表...

    mysql实现自动创建与删除分区

    分区是将一个大表逻辑上划分为多个较小的部分,每个部分称为一个分区。对于时间序列数据,如日志记录,根据日期或时间进行分区可以显著提高查询速度,因为查询通常针对特定时间段的数据。 在"mysql实现自动创建与...

    MySQL分区分表方案实践手册

    - **KEY分区**:类似于HASH分区,但仅支持计算一列或多列,并且MySQL提供了自己的哈希函数。这种方式同样适用于均匀分布数据。 - **复合分区**:可以在RANGE/LIST类型的分区表的基础上进一步进行子分区。子分区...

    mysql表分区

    总的来说,MySQL表分区通过将一个大表的数据分散存储到多个物理位置,从而提高数据库的读写性能和管理效率。range、list和hash分区是MySQL提供的几种分区策略,每种策略根据不同的场景和需求进行选择和应用。在对...

    创建mysql表分区的方法

    4. **KEY分区**:类似于HASH分区,但使用MySQL计算的列值哈希。适用于内部优化,如InnoDB。 **创建分区表的步骤** 1. **创建表结构**:首先创建普通表,定义主键和其他列。 2. **定义分区**:使用`PARTITION BY`...

    MySQL分区实战

    3. **经常执行依赖于分区列的查询**:如查询2000年至2001年期间离职的员工数量,MySQL可以根据分区信息快速定位到相应的分区,从而提高查询速度。 #### 五、RANGE分区的优化技巧 - **使用非空列作为分区键**:如上...

    MySQL的表分区详解

    MySQL的表分区是一种数据库优化策略,它将一个大表分解为多个较小的、更易管理和查询的部分,以提高数据检索速度和数据库性能。这一技术自MySQL 5.1版本开始被广泛支持。表分区主要应用于大数据量的场景,通过合理...

    mysql-存储分区-实验八.docx

    - **List Columns分区**:与List分区相似,但支持多列分区键。 - **Hash分区**:使用哈希函数将数据分散到各个分区,分为常规Hash(取模运算)和线性Hash(基于2的幂运算)。 - **Key分区**:允许使用用户自定义...

    MYSQL 通过分区(Partition)提升MySQL性能

    - **List分区**:根据列值列表进行分区,每个分区对应列表中的一个或多个值。 - **Composite分区**:结合以上两种或多种分区方法。 #### 实例分析 以下是一个使用`Range`分区的例子,展示了如何创建一个基于`c3`列...

    mysql分区文档

    键分区类似于哈希分区,但它使用 MySQL 内部算法对主键或任意非空列进行哈希。 **分区的好处** 1. **性能提升**:通过分区,MySQL 只需扫描部分数据,减少了 I/O 操作,加快了查询速度。 2. **易于管理**:删除或...

    mysql如何进行分区-mysql分区有哪些方法.docx

    1. **存储能力增强**:相比于单一的磁盘或文件系统分区,MySQL 分区可以存储更多数据。 2. **数据清理便捷**:可以更简单地删除不再需要或过时的数据。 3. **查询优化**:某些查询可以直接在特定分区上执行,减少...

    MySQL5.1新功能-分区

    - 数据库中的表可以按行或按列进行分区,根据特定的分区键(或表达式)来划分。 2. **分区类型**: - **范围分区**:基于数据的特定范围进行分区,例如日期或数值范围。 - **列表分区**:基于预定义的列表值进行...

    MySQL中创建数据表Range分区.pdf

    MySQL支持多种分区策略,而Range分区是其中的一种,它根据列的值在连续的范围内将数据分配到不同的分区中。 根据提供的文件内容,我们将介绍以下几个方面的知识点: 1. Range分区的基本概念和应用; 2. 创建Range...

    MySQL分区字段列有必要再单独建索引吗?

    在MySQL数据库中,分区是一种优化查询性能的技术,它将大表的数据分成多个逻辑部分,每个部分对应表的一个或多个分区。通常,分区字段是主键的一部分,以确保数据分布均匀并提高查询效率。然而,问题在于,如果一个...

    mysql分库分表分区1

    KEY 分区是 HASH 分区的一种特殊形式,它使用 MySQL 内部的哈希函数对一列或多列进行计算。与 HASH 分区不同,KEY 分区只能用整数值列,并且由 MySQL 自己控制哈希算法。同样,这里没有具体的 KEY 分区示例,但其...

    Oracle10个分区和Mysql分区区别详解

    - MySQL 同样提供 Hash 分区,但 Oracle 支持多列作为哈希分区键,而 MySQL 只能基于单列。 4. **Key分区**: - MySQL 的 Key 分区是特殊类型的 Hash 分区,使用 MySQL 内部算法计算列的哈希值,确保数据均匀分布...

Global site tag (gtag.js) - Google Analytics