创建分区表
CREATE TABLE `表名` (
`EQUIPMENTID` char(17) NOT NULL,
`ATTRIBUTEID` char(4) NOT NULL,
`VALUE` varchar(20) NOT NULL,
`COLLECTTIME` datetime NOT NULL
)
ENGINE=InnoDB (适用大部分引擎,可根据需要调整)
DEFAULT CHARSET=gbk(编码可根据需要修改)
PARTITION BY RANGE (to_days(COLLECTTIME))
(PARTITION pmin VALUES LESS THAN (to_days('2010-01-01')),
PARTITION p201001 VALUES LESS THAN (to_days('2010-02-01')) ,
PARTITION p201002 VALUES LESS THAN (to_days('2010-03-01')) ,
PARTITION p201003 VALUES LESS THAN (to_days('2010-04-01')) ,
PARTITION p201004 VALUES LESS THAN (to_days('2010-05-01')) ,
PARTITION p201005 VALUES LESS THAN (to_days('2010-06-01')) ,
PARTITION p201006 VALUES LESS THAN (to_days('2010-07-01')) ,
PARTITION p201007 VALUES LESS THAN (to_days('2010-08-01')) ,
PARTITION p201008 VALUES LESS THAN (to_days('2010-09-01')) ,
PARTITION p201009 VALUES LESS THAN (to_days('2010-10-01')) ,
PARTITION p201010 VALUES LESS THAN (to_days('2010-11-01')),
PARTITION p201011 VALUES LESS THAN (to_days('2010-12-01')),
PARTITION p201012 VALUES LESS THAN (to_days('2011-01-01')),
PARTITION p201101 VALUES LESS THAN (to_days('2011-02-01')),
PARTITION p201102 VALUES LESS THAN (to_days('2011-03-01')),
PARTITION p201103 VALUES LESS THAN (to_days('2011-04-01')),
PARTITION p201104 VALUES LESS THAN (to_days('2011-05-01')),
PARTITION p201105 VALUES LESS THAN (to_days('2011-06-01')),
PARTITION p201106 VALUES LESS THAN (to_days('2011-07-01')),
PARTITION p201107 VALUES LESS THAN (to_days('2011-08-01')),
PARTITION p201108 VALUES LESS THAN (to_days('2011-09-01')),
PARTITION p201109 VALUES LESS THAN (to_days('2011-10-01')),
PARTITION p201110 VALUES LESS THAN (to_days('2011-11-01')),
PARTITION p201111 VALUES LESS THAN (to_days('2011-12-01')),
PARTITION p201112 VALUES LESS THAN (to_days('2012-01-01')),
PARTITION pmax VALUES LESS THAN MAXVALUE );
为现有表创建分区
alter table 表名
PARTITION BY RANGE (to_days(COLLECTTIME))
(PARTITION pmin VALUES LESS THAN (to_days('2010-01-01')),
PARTITION p201001 VALUES LESS THAN (to_days('2010-02-01')) ,
PARTITION p201002 VALUES LESS THAN (to_days('2010-03-01')) ,
PARTITION p201003 VALUES LESS THAN (to_days('2010-04-01')) ,
PARTITION p201004 VALUES LESS THAN (to_days('2010-05-01')) ,
PARTITION p201005 VALUES LESS THAN (to_days('2010-06-01')) ,
PARTITION p201006 VALUES LESS THAN (to_days('2010-07-01')) ,
PARTITION p201007 VALUES LESS THAN (to_days('2010-08-01')) ,
PARTITION p201008 VALUES LESS THAN (to_days('2010-09-01')) ,
PARTITION p201009 VALUES LESS THAN (to_days('2010-10-01')) ,
PARTITION p201010 VALUES LESS THAN (to_days('2010-11-01')),
PARTITION p201011 VALUES LESS THAN (to_days('2010-12-01')),
PARTITION p201012 VALUES LESS THAN (to_days('2011-01-01')),
PARTITION p201101 VALUES LESS THAN (to_days('2011-02-01')),
PARTITION p201102 VALUES LESS THAN (to_days('2011-03-01')),
PARTITION p201103 VALUES LESS THAN (to_days('2011-04-01')),
PARTITION p201104 VALUES LESS THAN (to_days('2011-05-01')),
PARTITION p201105 VALUES LESS THAN (to_days('2011-06-01')),
PARTITION p201106 VALUES LESS THAN (to_days('2011-07-01')),
PARTITION p201107 VALUES LESS THAN (to_days('2011-08-01')),
PARTITION p201108 VALUES LESS THAN (to_days('2011-09-01')),
PARTITION p201109 VALUES LESS THAN (to_days('2011-10-01')),
PARTITION p201110 VALUES LESS THAN (to_days('2011-11-01')),
PARTITION p201111 VALUES LESS THAN (to_days('2011-12-01')),
PARTITION p201112 VALUES LESS THAN (to_days('2012-01-01')),
PARTITION pmax VALUES LESS THAN MAXVALUE );
如果表中已有数据,分区时会自动进行分区存储,不必担心数据丢失或者手动分类数据.
删除表中的指定分区
ALTER TABLE 表名 DROP PARTITION 分区名;
追加表分区
ALTER TABLE 表名 DROP PARTITION pmax;
ALTER TABLE 表名
ADD PARTITION (
PARTITION p201201 VALUES LESS THAN (to_days('2012-2-1')),
PARTITION pmax VALUES LESS THAN MAXVALUE);
查看标分区信息
SELECT
partition_name part,
partition_expression expr,
partition_description descr,
table_rows
FROM
INFORMATION_SCHEMA.partitions
WHERE
TABLE_SCHEMA = schema()
AND TABLE_NAME='表名';
查看查询语句涉及分区信息
explain partitions
select … from 表名 where …;
该操作只查看查询语句相关的分区信息,不会返回查询结果.
分享到:
相关推荐
### MySQL分区分表方案实践手册知识点详述 #### 一、MySQL分区简介 ...以上就是MySQL分区的基础知识及其常见应用场景。通过合理地利用MySQL的分区功能,可以显著提高数据库的性能并简化数据管理任务。
3. 表设计优化:适当字段类型选择,避免NULL字段,合理拆分大表,使用分区表和分片技术。 4. 内存配置:调整缓冲池大小,提高内存利用率,例如增大InnoDB Buffer Pool,设置适当的Query Cache大小。 5. 事务与锁定...
MySQL自5.1版本开始支持分区功能。 分区的主要好处包括: 1. **性能提升**:通过减少SQL语句需要扫描的数据量,分区可以显著降低查询响应时间。 2. **简化管理**:删除、添加或修改数据时,只影响相关的分区,不...
- **分区**: 对于大型表,可以采用分区技术将其划分为更小、更易管理的部分。 ### 实践经验分享 在实际工作中,除了理论知识外,积累实践经验也非常重要。例如,可以通过构建小型项目来练习SQL查询、表设计等技能...
│ 第十一课MySQL表分区8.0.pdf │ 第十七课Elasticsearch分享-张亚V4.pdf │ 第十三课MySQL5.7高可用架构之Mycat.pdf │ 第十三课MySQL8.0高可用架构之Mycat.pdf │ 第十九课MySQL备份和恢复.pdf │ 第十二课MySQL...
视图的使用可以简化数据查询,隐藏复杂查询逻辑,并提供一定程度的数据安全性,因为可以直接限制对视图的访问权限,而不是基础表。 表`CHANNELTEMPVALUE`是关于电流监测的数据表。其中: - `CT`字段,作为标识符,...
MySQL还提供了事务处理功能,确保数据的一致性和完整性。事务是一组数据库操作,要么全部成功,要么全部失败。这在处理涉及多个表的复杂操作时非常有用。此外,ACID(原子性、一致性、隔离性和持久性)属性是事务...
6. **分区表增强**:5.7版本对分区表进行了优化,支持更多的分区策略,包括线性哈希分区和更多的子分区选项,提高了大表的管理和查询效率。 7. **安全增强**:MySQL 5.7加强了安全特性,如更好的密码加密策略、审计...
2. **分区功能**:MySQL5引入了表分区功能,允许大型表被划分为更小、更易管理的部分,从而提高查询速度和维护效率。 3. **触发器与存储过程**:MySQL5支持触发器和存储过程,使得用户可以创建复杂的业务逻辑,提高...
7. 分区表:分区表的管理更加灵活,可以在线调整分区策略,这在处理大规模数据时非常有用。 8. 数据库复制:MySQL的复制功能进一步优化,支持半同步复制和多源复制,提高了数据一致性和可用性。 9. 优化的备份与...
MySQL5.7精简版是一款轻量级但功能强大的关系型数据库管理系统,它在MySQL5.7的基础上进行了优化,去除了部分非核心组件,以适应更广泛的使用场景,特别是对于那些对系统资源有限制或者不需要全部功能的用户。MySQL...
- SQL Server支持分区表,用于大数据管理,MySQL的InnoDB引擎支持分区,但功能较为有限。 6. 索引类型: - SQL Server支持更多的索引类型,如全文索引、空间索引、XML索引等,而MySQL主要支持B树和哈希索引。 7....
- **分区**:介绍 MySQL 的分区功能,如何利用分区提高查询效率。 - **复制**:说明 MySQL 的主从复制机制,如何实现数据同步。 - **多线程池**:探讨 MySQL 的线程池机制,提高并发处理能力。 #### 六、其他重要...
为了应对大数据量和高访问量,MySQL还提供了分区功能,允许将数据分散存储在不同的区域中,这样可以提高查询效率和数据维护的可扩展性。 从文档内容来看,MySQL的内容非常丰富,作为数据库管理员或开发者,需要熟练...
- **MySQL 5.1**:引入了分区功能,允许将大表分割成更小、更易于管理的部分,提高了查询性能。 ##### 2.3 最新进展 - **MySQL 8.0**:最新版本引入了JSON数据类型支持、窗口函数以及对多源事务的支持,进一步提升...
MySQL 5.5是MySQL数据库管理系统的一个重要版本,它提供了许多功能增强和性能优化,适合初学者和有经验的开发者学习。在这个学习过程中,你将深入理解数据库的基础知识,掌握如何编写SQL代码以及如何设计和操作...
除了上述内容,教程可能还会涉及复制、分区、触发器、用户权限管理等高级主题,帮助读者进一步提升MySQL应用能力。 通过阅读《MySQL教程》这本详尽的PDF教材,你将能够系统地学习并掌握MySQL,无论你是初学者还是有...
《mysql5.1.chm》则是MySQL 5.1版本的中文帮助文档,该版本在2008年发布,进一步提升了性能和稳定性,并添加了更多的企业级功能,如分区表、ACID事务支持、外键约束等。手册中详细介绍了新版本的各种增强功能,如新...
4. 企业级特性:MySQL逐渐增加了对诸如外键、分区、视图、存储过程等功能的支持,提升了其在企业环境中的适用性。 5. 高可用性:MySQL的复制功能使得数据可以在多台服务器之间同步,实现主从复制、双向复制,增强了...
这可能包括最新版本的功能特性,例如MySQL 8.0引入的窗口函数、JSON支持、增强的分区功能等。同时,也可能涉及一些历史版本的重要概念,如InnoDB存储引擎、ACID特性、复制与集群等。 关于压缩包子文件的文件名称...