`
lanhuidong
  • 浏览: 227732 次
  • 性别: 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) );



 

 

 

 
分享到:
评论

相关推荐

    mysql5.6手册英文版本

    - **高可用性**: 包括 MySQL Thread Pool、MySQL Partitioning 等。 - **扩展性**: 如 MySQL Proxy、MySQL and Virtualization 等。 #### 四、安全与合规 ##### 4.1 Security - **安全性**: MySQL Enterprise ...

    mysql5.6官方手册

    - **MySQL Partitioning**:利用分区技术来提高大型表的管理效率。 - **MySQL Proxy**:作为中间件,可以在客户端和 MySQL 之间提供额外的功能。 - **MySQL Utilities**:一系列实用工具,用于简化常见的数据库管理...

    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服务器的性能...

    mysql5.6参考手册

    - **Partitioning**: 分区表的设计和实现方法,以提高性能和管理大量数据。 #### 连接器与API - **Connector/J**: Java应用程序接口,用于Java程序访问MySQL数据库。 - **Connector/ODBC**: ODBC驱动程序,允许非...

    mysql-5.5.32.tar.gz

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

    MySQL 5.6产品文档

    - **Partitioning**:分区是一种优化大型表的方法,可以提高查询性能和管理效率。 - **Precision Math**:MySQL 5.6引入了精确数学处理功能,这对于处理金融和科学计算非常重要。 - **Semisynchronous Replication**...

    mysql-5.7.26.tar.gz

    4. **动态范围索引(Range partitioning)**:分区表的性能得到提升,特别是对于时间序列数据。 5. **SQL性能分析器**:SQL绩效分析工具(Performance Schema)提供了更详细的性能监控。 6. **增强的加密功能**:...

    mysql安装使用说明文档

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

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

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

    MySQL5.5.62

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

    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官方测试数据库

    还可以探索分区(PARTITIONING)技术,尤其是在处理大量数据时,它可以提高查询效率和维护性能。同时,了解如何使用`EXPLAIN`命令分析查询执行计划,找出性能瓶颈,也是数据库管理员必备的技能。 此外,测试数据库...

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

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

Global site tag (gtag.js) - Google Analytics