社区
MySQL
帖子详情
mysql 对超大表的处理
象宇
2010-12-17 08:44:53
我假设个问题,就是我的一个数据库表,已经很多个G了,而其这个表所在的磁盘空间已经所剩无几了,我想把这个表分到其他的磁盘上存储。具体如何做啊?
手册上没有很明确的例子。
帮忙解决一下吧。
谢谢。
...全文
465
27
打赏
收藏
mysql 对超大表的处理
我假设个问题,就是我的一个数据库表,已经很多个G了,而其这个表所在的磁盘空间已经所剩无几了,我想把这个表分到其他的磁盘上存储。具体如何做啊? 手册上没有很明确的例子。 帮忙解决一下吧。 谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
象宇
2010-12-21
打赏
举报
回复
ACMAIN_CHM
的答案是正解,只不过,我还没有验证。
实际的情况还不知道会怎样。
gatx177
2010-12-17
打赏
举报
回复
删除冗余数据~~~~~~~~~~~~~~~
ACMAIN_CHM
2010-12-17
打赏
举报
回复
没有办法,目前的MYSQL版本在WINDOWS都不支持这个选项。
WWWWA
2010-12-17
打赏
举报
回复
用MYSQLDUMP备份、再导入吧,否则换系统(UNIX)
象宇
2010-12-17
打赏
举报
回复
[Quote=引用 15 楼 wwwwa 的回复:]
DATA DIRECTORY INDEX DIRECTORY
windows 下这两个参数不起作用.
[/Quote]
那我该如何做,没有方法吗?
ACMAIN_CHM
2010-12-17
打赏
举报
回复
WINDOWS中不支持符号连接,所以不能实现数据库文件存储在不同位置。
WWWWA
2010-12-17
打赏
举报
回复
DATA DIRECTORY INDEX DIRECTORY
windows 下这两个参数不起作用.
象宇
2010-12-17
打赏
举报
回复
CREATE TABLE ts (id INT, purchased DATE)
PARTITION BY RANGE(YEAR(purchased))
SUBPARTITION BY HASH(TO_DAYS(purchased))
(
PARTITION p0 VALUES LESS THAN (1990)
(
SUBPARTITION s0
DATA DIRECTORY = '/disk0/data'
INDEX DIRECTORY = '/disk0/idx',
SUBPARTITION s1
DATA DIRECTORY = '/disk1/data'
INDEX DIRECTORY = '/disk1/idx'
),
PARTITION p1 VALUES LESS THAN (2000)
(
SUBPARTITION s0
DATA DIRECTORY = '/disk2/data'
INDEX DIRECTORY = '/disk2/idx',
SUBPARTITION s1
DATA DIRECTORY = '/disk3/data'
INDEX DIRECTORY = '/disk3/idx'
),
PARTITION p2 VALUES LESS THAN MAXVALUE
(
SUBPARTITION s0
DATA DIRECTORY = '/disk4/data'
INDEX DIRECTORY = '/disk4/idx',
SUBPARTITION s1
DATA DIRECTORY = '/disk5/data'
INDEX DIRECTORY = '/disk5/idx'
)
);
我现在是考虑这个问题,如何解决。
这个是手册中的例子,是在linux下的,我如何在windows中实现,可以只把表分到 F:和G:两个磁盘下。
小小小小周
2010-12-17
打赏
举报
回复
主键问题,你的表结构发出来
WWWWA
2010-12-17
打赏
举报
回复
你的代码贴出来
象宇
2010-12-17
打赏
举报
回复
[Quote=引用 10 楼 zuoxingyu 的回复:]
partition_definition:
PARTITION partition_name
[VALUES {
LESS THAN (expr) | MAXVALUE
| IN (value_list) }]
[[STORAGE] ENGINE [=] engine-nam……
[/Quote]
我看着手册尝试过,老是语法报错,所以来论坛求助,,,能不能给个实际的例子,各位达人······
zuoxingyu
2010-12-17
打赏
举报
回复
partition_definition:
PARTITION partition_name
[VALUES {
LESS THAN (expr) | MAXVALUE
| IN (value_list) }]
[[STORAGE] ENGINE [=] engine-name]
[COMMENT [=] 'comment_text' ]
[DATA DIRECTORY [=] 'data_dir']
[INDEX DIRECTORY [=] 'index_dir']
[MAX_ROWS [=] max_number_of_rows]
[MIN_ROWS [=] min_number_of_rows]
[TABLESPACE [=] (tablespace_name)]
看分区的红色部分。可以指定某个分区的存储位置。
象宇
2010-12-17
打赏
举报
回复
[Quote=引用 3 楼 acmain_chm 的回复:]
你是想把数据库移到另一个硬盘分区上,不是做表分区。
你可以先停止你的MYSQL服务,然后把整个DATADIR目录复制到目标硬盘分区上,然后再修改MY.INI中的DATADIR参数。再启动MYSQL就可以了。
[/Quote]
我晕,老大,我明明写的是“分”,而不是移!!!
WWWWA
2010-12-17
打赏
举报
回复
直接COPY容易出问题,INNODB引擎的表不能直接COPY,最好用MYSQLDUMP备份
小小小小周
2010-12-17
打赏
举报
回复
1:mysqldump 出来之后,修改my.cnf里面的数据目录,datadir=新的磁盘,再还原;适用myisam表.
2:要是innodb的话,dump出来之后,修改innodb_data_file_path的最后一个表空间到新的目标目录,再还原.
3:把datadir的目录整个复制到新的目标地址,再用软连接连接到旧地址,不需要修改配置文件(适用myisam)---linux
4:在data目录的同级,新加一个后缀名为sym的文件.把某个库的地址指到新地址如(E:\data\Q)----windows
iihero
2010-12-17
打赏
举报
回复
转移数据,可以直接复制DATADIR目录,再修改配置文件。
或者将整个MySQL目录转移到别的分区,然后修改配置文件,重新配置服务。
都可以的。
WWWWA
2010-12-17
打赏
举报
回复
OR
直接用MYSQLDUMP备份数据库,再新建数据库,导入备份
WWWWA
2010-12-17
打赏
举报
回复
你的MYSQL版本
http://dev.mysql.com/doc/refman/5.1/zh/partitioning.html
手册比较详细
ACMAIN_CHM
2010-12-17
打赏
举报
回复
你是想把数据库移到另一个硬盘分区上,不是做表分区。
你可以先停止你的MYSQL服务,然后把整个DATADIR目录复制到目标硬盘分区上,然后再修改MY.INI中的DATADIR参数。再启动MYSQL就可以了。
象宇
2010-12-17
打赏
举报
回复
windows mysql 5.1 以上才有分区 手册上没有很详细的例子。
加载更多回复(7)
MySql
转换成Oracle工具
对
超大
数据
表
的导出进行了优化
处理
Convert
Mysql
to Oracle 功能限制 不能转换
MYSQL
的存储过程 Convert
Mysql
to Oracle 运行需求 有相应的数据库操作权限 在机器中安装了ORACLE客户端,使得Convert
Mysql
to...
两个软件奥
mysql
转oracle oracle转
mysql
Convert
Mysql
to Oracle功能特点 可能转换所有的
Mysql
字段类型 支持所有版本的
Mysql
可以将数据合并到已经存在的ORACLE
表
中 非常容易使用的向导模式 支持所有版本的
Mysql
字符集 对
超大
数据
表
的导出进行了优化
处理
MySQL
入门进阶及面试题分析
本阶段
mysql
学习从0基础开始的课程。 你可以掌握以下知识点:
mysql
安装,
mysql
shell命令,
mysql
关系型...
mysql
唯一约束非空约束主键约束,
mysql
外键约束和默认约束,
mysql
表
关系(多对多,一对一,一对多)
MySQL
的
超大
分页
处理
如果按照二级索引查询数据的时候,返回的列中没有创建索引,有可能会触发回
表
查询,尽量避免使用select * ,尽量在返回的列中都包含添加索引的字段。,在返回的列中,必须在索引中全部能够找到,如果我们使用id查询...
mysql
超大
表
处理
方式是_
Mysql
数据库大
表
优化方案和
Mysql
大
表
优化步骤
当
MySQL
单
表
记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化。单
表
优化除非单
表
数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的...
MySQL
56,681
社区成员
56,709
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章