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

MYSQL使用心得(十一)----按日期进行表分区

 
阅读更多
创建
create table user (id int(11) NOT NULL AUTO_INCREMENT,
name varchar(255),
birthday date default NULL,
PRIMARY KEY (id,birthday))
partition by range (birthday)
(partition p0 values less than ('1985-12-26'),
partition p1 VALUES LESS THAN ('2013-12-01'));
报错
ERROR 1697 (HY000): VALUES value for partition 'p0' must have type INT

正常创建
create table user (id int(11) NOT NULL AUTO_INCREMENT,
name varchar(255),
birthday date default NULL,
PRIMARY KEY (id,birthday)) engine=innodb
partition by range (to_days(birthday))
(PARTITION p0 VALUES LESS THAN (to_days('1985-01-01')),
PARTITION p1 VALUES LESS THAN (to_days('2004-01-01')),
PARTITION p2 VALUES LESS THAN (to_days('2005-01-01')),
PARTITION p3 VALUES LESS THAN (to_days('2006-01-01')),
PARTITION p4 VALUES LESS THAN (to_days('2007-01-01')),
PARTITION p5 VALUES LESS THAN (to_days('2010-01-01')),
PARTITION p6 VALUES LESS THAN MAXVALUE);

执行解释扫描
explain partitions select birthday from user where birthday>'2006-06-01' and birthday<'2006-12-12'\G

输出
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: user
   partitions: p0,p4
         type: index
possible_keys: NULL
          key: PRIMARY
      key_len: 7
          ref: NULL
         rows: 2
        Extra: Using where; Using index
1 row in set (0.00 sec)
1
0
分享到:
评论

相关推荐

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

    - **Range分区**:基于连续数值范围进行分区,比如按日期每月分区。`VALUES LESS THAN` 用于定义分区范围,支持整数、日期等类型。 - **Range Columns分区**:与Range分区类似,但可以使用多列作为分区键。 - **...

    MySQL教程及安装

    - MySQL对于2000年及其之后的日期具有很好的支持能力,能够确保日期相关的操作不会出现错误。 #### 二、MySQL与MaxDB的关系 - **MaxDB概述**: - MaxDB是另一款由SAP维护的数据库管理系统,最初由MySQL AB开发。...

    MySQL 5.6 官方文档

    - **MySQL 论坛**:这是一个活跃的社区,用户可以在这里讨论问题、分享经验和技术心得。 - **MySQL 邮件列表**:另一个重要的交流平台,通过邮件列表可以接收最新的 MySQL 相关消息和技术更新。 - **IRC 聊天**:...

    MySQL面试题:从基础到进阶全面解析

    9. 经验分享:总结在使用MySQL过程中的心得,如最佳实践、陷阱和避免错误的方法。 10. 兴趣点:阐述对MySQL特定方面的兴趣,如复制、分区或新特性。 通过全面掌握这些知识点,求职者能够在面试中展示出对MySQL的...

    Hive总结.docx

    - 使用分区和桶表,提高查询效率。 - 利用索引加速查询。 - 合理选择计算引擎,Tez和Spark相对于MapReduce能提供更好的性能。 - 减少数据倾斜,通过数据预处理、分区优化等方式避免部分节点负担过重。 【数据倾斜】...

    SQL从基础到深入——本人心得

    可以基于单个或多个字段进行查询,使用WHERE子句过滤数据,GROUP BY进行分组,ORDER BY进行排序,HAVING过滤分组后的结果,JOIN操作连接多个表。 二、SQL进阶 1. 子查询:在SELECT语句中嵌套另一个查询,用于获取...

    2019春季面试总结

    - **垃圾回收机制**:采用不同的算法如标记-清除、复制、标记-整理等进行垃圾回收。 #### 集合数组:List、Set、Map及其内部实现 - **`List`**:有序可重复,如`ArrayList`基于动态数组实现,`LinkedList`基于双向...

    数据库课程设计报告-驾校信息管理系统.doc

    17. 根据逻辑模型,选择合适的数据库管理系统(如MySQL、SQL Server等)进行物理设计,考虑索引、分区等策略以提高查询性能,最后进行系统部署和测试。 【课程设计心得体会】 通过本次数据库课程设计,我对数据库...

    个人信息管理系统课程设计.pdf

    物理结构设计阶段,根据数据库的特性优化表结构,考虑索引的建立、数据分区等技术,以提高数据的存取效率和系统的响应速度。 6. 心得体会 在完成课程设计的过程中,学生将深入理解数据库系统原理,掌握需求分析、...

    最新数据库课程设计我的课程设计.doc

    将E-R模型转换为关系模式,确定表的结构和字段,如“客房表”(包含客房号、类型、价格等)、“顾客表”(包含顾客ID、姓名、联系方式等)、“预订表”(包含预订号、客房号、顾客ID、入住日期、退房日期等)。...

    数据库工资管理系统课程设计实验报告.docx

    采用关系数据库模型,如SQL Server或MySQL,将ER模型转化为具体的表结构,如员工表、部门表、工资表等。 5.2 数据库表结构设计 设计合理的字段类型、长度和约束,如唯一键、外键、主键,以确保数据完整性和一致性。...

Global site tag (gtag.js) - Google Analytics