mysql 表分区的问题

问题描述

mysql 数据库现在有一批庞大的数据入库,需要根据用户的uid 进行表分区、用户的uid基本上是10位数的随机数,现在有什么好的办法根据uid 来做表分区?

解决方案

hash的分区方式应该是你要找的。参考http://lehsyh.iteye.com/blog/732719
解决方案二:
楼下说的对,直接把uid取出来进行一次hash即可~!当然,也可以根据其他字段分区了,看你怎么查询了

时间: 2024-10-28 14:05:53

mysql 表分区的问题的相关文章

mysql表分区创建使用学习笔记

表分区的测试使用,主要内容来自于其他博客文章以及mysql5.1的参考手册 mysql测试版本:mysql5.5.28 mysql物理存储文件(有mysql配置的datadir决定存储路径)格式简介 数据库engine为MYISAM   frm表结构文件,myd表数据文件,myi表索引文件. INNODB engine对应的表物理存储文件 " innodb的数据库的物理文件结构为: .frm文件 .ibd文件和.ibdata文件: 这两种文件都是存放innodb数据的文件,之所以用两种文件来存放

MySQL表分区注意事项

1.分区列索引约束 若表有primary key或unique key,则分区表的分区列必须包含在primary key或unique key列表里,这是为了确保主键的效率,否则同一主键区的东西一个在A分区,一个在B分区,显然会比较麻烦. 2.各分区类型条件 range 每个分区包含那些分区表达式的值位于一个给定的连续区间内的行.这些区间要连续且不能相互重叠 list只支持整形字段或返回整形数的表达式,每个分区列表里的值列表必须整数 hash类型只支持整形字段或返回整形数的表达式 key类型只支

教你实现MySQL表数据迁移自动化

一.背景 之前我写过关于SQL Server的数据迁移自动化的文章:SQL Server 数据库迁移偏方,在上篇文章中设计了一张临时表,这个临时表记录搬迁的配置信息,用一个存储过程读取这张表进行数据的迁移,再由一个Job进行迭代调用这个存储过程. 在这次MySQL的实战中,我的数据库已经做了4个分片,分布在不同的4台机器上,每台机器上的数据量有1.7亿(1.7*4=6.8亿),占用空间260G(260*4=1040G),这次迁移的目的就是删除掉一些历史记录,减轻数据库压力,有人说这为什么不使用表

总结MySQL的分区_Mysql

前言      分区是指根据一定的规则将一个大表分解成多个更小的部分,这里的规则一般就是利用分区规则将表进行水平切分:逻辑上没有发生变化但实际上表已经被拆分成了多个物理对象,每个分成被划分成了一个独立的对象.相对于没有分区的当个表而言分区的表有很多的优势包括: 并发统计查询.快速归档删除分区数据.分散存储.查询性能更佳. mysql5.7以后查询语句支持指定分区例如:" SELECT * FROM t PARTITION (p0,p1) WHERE c < 5 "指定分区同样适用

MySQL表的四种分区类型详解

一.什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区.当然也可根据其他的条件分区. 二.为什么要对表进行分区 为了改善大型表以及具有各种访问模式的表的可伸缩性,可管理性和提高数据库效率. 分区的一些优点包括: 与单个磁盘或文件系统分区相比,可以存储更多的数据. 对于那些已经失去保存意义的数据,通常可以通过删除与那些数据有关的分区,很容易地删除那些数

MySQL数据库表分区注意事项总结

1.分区列索引约束 若表有primary key或unique key,则分区表的分区列必须包含在primary key或unique key列表里,这是为了确保主键的效率,否则同一主键区的东西一个在A分区,一个在B分区,显然会比较麻烦. 2.各分区类型条件 range 每个分区包含那些分区表达式的值位于一个给定的连续区间内的行.这些区间要连续且不能相互重叠 list只支持整形字段或返回整形数的表达式,每个分区列表里的值列表必须整数 hash类型只支持整形字段或返回整形数的表达式 key类型只支

MySQL的表分区

一.什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过了600万条,那么就可以根据入库日期将表分区,也可以根据所在地将表分区.当然也可根据其他的条件分区.   二.为什么要对表进行分区 为了改善大型表以及具有各种访问模式的表的可伸缩性,可管理性和提高数据库效率. 分区的一些优点包括:       1).与单个磁盘或文件系统分区相比,可以存储更多的数据.       2).对于那些已经失去保存意义的数据,通常可以通过删除

MYSQL查看和新增表分区

MYSQL查看和新增表分区 1.查看表分区 SELECT  partition_name part,   partition_expression expr,   partition_description descr,   FROM_DAYS(partition_description) lessthan_sendtime,   table_rows FROM  INFORMATION_SCHEMA.partitions WHERE  TABLE_SCHEMA = SCHEMA()   AND

MySQL架构优化实战系列3:定时计划任务与表分区

一  定时计划任务 1.概论 mysql计划任务可以定时更新数据库表或者做大文件的汇总表. 2.配置 开启计划任务 SHOW VARIABLES LIKE 'event_scheduler' 查看是否开启 off 表示未开启 set global event_scheduler =1 此次重启之后的mysql器件生效 永久生效   可见已经开启 3.语法体 4.周期或者时间点语法 每1秒执行 on schedule every 1 second 10天后执行 on schedule at cur