`
lanhuidong
  • 浏览: 226260 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

MySQL Partitioning

阅读更多

MySQL Version:5.1.49-communtity

1.       检查MySQL服务器是否支持表分区

mysql>show variables like ‘%partition%’;





 


 

 

 

2.       创建表

 

CREATE TABLE USER ( id INT AUTO_INCREMENT, username VARCHAR(20), birthday DATETIME, PRIMARY KEY (id,username) )ENGINE=INNODB PARTITION BY KEY(id,username) PARTITIONS 7;

 


 

3.       查看各个分区的情况(information_schema数据库的partitions表)

mysql> select table_name,partition_name,table_rows from information_schema.partitions where table_schema='partitiontest' and table_name like 'user';

 

 

 

 

4.       指定数据文件和索引文件的位置(在Windows平台被忽略)

CREATE TABLE USER ( id INT AUTO_INCREMENT, username VARCHAR(20), birthday DATETIME, PRIMARY KEY (id,username) )ENGINE=INNODB PARTITION BY KEY(id,username) PARTITIONS 2( PARTITION p0 DATA DIRECTORY 'D:/' INDEX DIRECTORY 'D:/', PARTITION p1 DATA DIRECTORY 'E:/' INDEX DIRECTORY 'E:/' );

 


 

5.       修改分区类型(如果原表有数据,此语句不会损坏数据)

Key类型改为hash

类型: ALTER TABLE `user` PARTITION BY HASH(id) PARTITIONS 3;

 

 

 

 

6.       删除分区(只能用于RANGELIST)

ALTER TABLE `user` DROP PARTITION p0;


 

 

 

 

7.       减少分区(只能用户KEYHASH

ALTER TABLE `user` COALESCE PARTITION 2;


 //

减少两个分区,减少个数必须小于原有分区数

 

 

8.       添加分区

ALTER TABLE `user` ADD PARTITION PARTITIONS 2;

 添加

2个分区

 

 

ALTER TABLE tt ADD PARTITION (PARTITION p2 VALUES IN (7, 14, 21));





 

9.       重新组织分区(RANGELIST

ALTER TABLE members REORGANIZE PARTITION p0 INTO ( PARTITION s0 VALUES LESS THAN (1960), PARTITION s1 VALUES LESS THAN (1970) ); ALTER TABLE members REORGANIZE PARTITION s0,s1 INTO ( PARTITION p0 VALUES LESS THAN (1970) );



 

 

 

 
分享到:
评论

相关推荐

    MySQL 8 Administrator's Guide

    Partitioning in MySQL 8 MySQL 8 - Scalability & High Availability MySQL 8 - Security Optimizing MySQL 8 Extending MySQL 8 MySQL 8 Best Practices & Benchmarking Troubleshooting MySQL 8

    mysql-5.5.27-win32.zip

    3. **Partitioning**:支持表分区,提高大数据量时的查询效率。 4. **复制优化**:并行复制功能提高了主从复制的速度和效率。 5. **Performance Schema**:提供了一个性能监控框架,用于收集和分析MySQL服务器的性能...

    mysql-5.5.32.tar.gz

    - **Partitioning增强**:增加了分区功能的灵活性,如线性哈希分区和按表达式分区。 - **Performance Schema**:这是一个监控和分析MySQL性能的新特性,提供了详细的系统资源和SQL语句的执行情况。 - **线程池支持...

    mysql安装使用说明文档

    同时,MySQL也集成了memcached和Partitioning等高级功能。 5. MySQL的安全性与备份 MySQL的数据库安全是企业级用户非常关心的一个话题。MySQL提供了详细的安全指南和安全功能,例如加密连接、访问控制、以及防止SQL...

    MySQL5.5.62

    6. **Partitioning Enhancements**:分区功能得到了加强,支持更多的分区类型和操作,有助于大数据管理和查询优化。 7. **Security Improvements**:MySQL 5.5.62 可能包含了安全相关的修复和更新,例如强化了认证...

    mysql-8.0.29-1.el7.x86_64.rpm-bundle

    对于大型企业或高负载环境,可能还需要配置复制(replication)以实现高可用性和故障切换,或者使用分区(partitioning)和索引(indexing)来优化查询性能。 总的来说,这个压缩包提供了一个完整的MySQL 8.0.29...

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

    ### MySQL通过分区(Partition)提升性能 在数据库管理和优化领域,分区是一种常用的技术手段,它可以帮助提高查询效率、简化数据管理以及改善系统整体性能。本文将深入探讨如何利用MySQL中的分区功能来提升数据库...

    Mysql培训课件

    - 增加Events scheduler、Partitioning功能。 - 支持Row-based replication。 - 动态修改general query log和slow query log。 - **MySQL 5.5**: - 默认存储引擎更改为InnoDB。 - 提升性能和可扩展性,如提高...

    Mysql Mysql学习资料

    - 表分区(Partitioning):通过将大表分成多个小部分来提高查询性能。 - 缓存机制:使用查询缓存(Query Cache)和InnoDB Buffer Pool提升性能。 4. **MySQL安全** - 用户权限管理:创建用户、设置密码策略,...

    MYSQL5.5.23 vs2008版

    3. **Partitioning 扩展**:分区功能在 5.5 版本中得到加强,允许更大的灵活性和更好的性能管理,尤其对于大型数据表,可以提高查询速度和管理效率。 4. **Performance Schema**:这是一个全新的性能监控框架,用于...

    mysql-5.5.62-winx64.zip

    - Partitioning:允许在大型表上进行分区,提高查询性能和管理效率。 - Performance Schema:一个监控和分析MySQL性能的内置工具,帮助管理员识别瓶颈和优化数据库。 使用MySQL 5.5.62,开发人员可以利用MySQL提供...

    MySQL分布式集群部署文档集合

    它采用了数据分区(Data Partitioning)、节点间通信(Node-to-node Communication)和自动故障转移(Automatic Failover)等核心特性。在MySQL Cluster中,数据被分割成多个数据节点,并分布在不同的物理或虚拟...

    Mysql5.6.10源代码

    5. **Partitioning Enhancements**:表分区功能在 5.6.10 中得到增强,支持更多的分区类型和更灵活的分区策略,有助于管理和优化大数据量的表。 6. **Subquery Optimization**:对于子查询的优化是 MySQL 5.6 的一...

    MySQL_5.5 中文参考手册.pdf

    4. Partitioning扩展:支持更多类型的分区策略,如线性哈希分区,提高了大数据量表的管理能力。 5. 更高的复制性能:引入半同步复制,确保主库上的事务在复制到从库之前完成,提升了数据一致性。 三、SQL语言基础 ...

Global site tag (gtag.js) - Google Analytics