尝试把数据库一个表分区
ALTER TABLE user
PARTITION BY RANGE(TO_DAYS(`date`)) (
PARTITION p1004 VALUES LESS THAN (TO_DAYS('2010-5-1')),
PARTITION p1005 VALUES LESS THAN (TO_DAYS('2010-6-1')),
PARTITION p1006 VALUES LESS THAN (TO_DAYS('2010-7-1')),
PARTITION p1007 VALUES LESS THAN (TO_DAYS('2010-8-1')),
PARTITION p1008 VALUES LESS THAN (TO_DAYS('2010-9-1')),
PARTITION p1009 VALUES LESS THAN (TO_DAYS('2010-10-1')),
PARTITION p1010 VALUES LESS THAN (TO_DAYS('2010-11-1')),
PARTITION p1011 VALUES LESS THAN (TO_DAYS('2010-12-1')),
PARTITION p1012 VALUES LESS THAN (TO_DAYS('2011-1-1')),
PARTITION p9999 VALUES LESS THAN MAXVALUE);
结果出现
ERROR 1503 A PRIMARY KEY must include all columns in the table's partitioning
function
google一下,查出以下解释,来自官方文档,意思是在分区的表达式中的条件字段必须是那个表定义的唯一键的一部分(part of every unique key that the table may have.) 我上面会出错就是因为我在user表定义了主键,但`date`不是主键
解决的话可以把主键ID扩展成联合主键(`ID`,`date`),这样分区的条件字段就成了主键的一部分,这样就可以解决,理论上我想是这样,还没没实际试过, todo。
18.5.1.Partitioning Keys, Primary Keys, and Unique Keys
This section discusses the relationship of partitioning keys with primary keys and unique keys. The rule governing this relationship can be expressed as follows: All columns used in the partitioning expression for a partitioned table must be part of every unique key that the table may have.
In other words, every unique key on the table must use every column
in the table's partitioning expression. (This also includes the table's
primary key, since it is by definition a unique key. This particular
case is discussed later in this section.)
分享到:
相关推荐
MYSQL 通过分区(Partition)提升MySQL性能,看清楚,不要浪费分数,是MYSQL,不是SQL SERVER2000,有需要的可以下载.
Oracle Partition分区详细总结.pdf
如果想在已经建好的表上进行分区,如果使用alter添加分区的话,mysql会提示错误: 代码如下: ERROR 1505 <HY000> Partition management on a not partitioned table is not possible 正确的方法是新建一个具有分区...
一款用于分区的分区工具,方便好用,不用安装的小工具,占用存储空间小
EASEUS Partition Master分区大师
表分区是最近才知道的哦 ,以前自己做都是分表来实现上亿级别的数据了,下面我来给大家介绍一下mysql表分区创建与使用吧,希望对各位同学会有所帮助。表分区的测试使用,主要内容来自于其他博客文章以及mysql5.1的...
Partition 磁盘 分区 工具 支持多格式分区
A40-T3的sys_partition.fex分区表说明
MySQL Partition Manager 是雅虎开源的 MySQL 分区管理器。它可以帮助你以最小的配置自动创建、维护、清除分区。 标签:MySQL
MySQL使用分区表的好处: 1,可以把一些归类的数据放在一个分区中,可以减少服务器检查数据的数量加快查询。2,方便维护,通过删除分区来删除老的数据。3,分区数据可以被分布到不同的物理位置,可以做分布式有效...
服务器版,破解版, 分区向导, Partition分区速度快并且安全,功能多。
AOMEI Partition Assistant 是一个简单易用且免费的磁盘分区管理软件,在它的帮助下,你可以无损数据地执行调整分区大小,移动分区位置,复制分区,复制磁盘,合并分区,切割分区、恢复分区、迁移操作系统等操作,是...
Paragon Partition Manager 9.0 分区魔术师 无损分区
若表有primary key或unique key,则分区表的分区列必须包含在primary key或unique key列表里,这是为了确保主键的效率,否则同一主键区的东西一个在A分区,一个在B分区,显然会比较麻烦。 2、各分区类型条件 ...
MySQL交换分区的实例详解 前言 在介绍交换分区之前,我们先了解一下 mysql 分区。 数据库的分区有两种:水平分区和垂直分区。而MySQL暂时不支持垂直分区,因此接下来说的都是水平分区。水平分区即:以行为单位对表...
Paragon Partition Manager是一个类似于PQ PartitionMagic的磁盘分区工具集,是一套磁盘管理软件,PartitionMagic的最佳替代品!有着直觉的图形使用介面和支持鼠标操作。 【软件功能】 主要功能包括:能够不损失...
Partition Manager 硬盘分区魔术师
Paragon Partition Manager是一个类似于PQ PartitionMagic的磁盘分区工具集,是一套磁盘管理软件,PartitionMagic的最佳替代品!有着直觉的图形使用介面和支持鼠标操作。
银灿U盘 分区,制作USB CD 必备,方便快捷,安全!
卸载Ubuntu时不小心破坏了Windows分区,所有资料都丢失了,试了10多种分区欢迎软件,最终Partition Table Doctor3.5救了我,100%还原了所有资料,一个字节都没丢。网上有较高版本的Partition Table Doctor,但是功能...