mysql数据库,亿级别数据量,修改表结构中的字段类型,求可实行方案
这个问题困扰我很多天了,用了一些方法,都不太可行。
大虾,高手们,给个偏方吧。谢谢
这个问题困扰我很多天了,用了一些方法,都不太可行。
大虾,高手们,给个偏方吧。谢谢
解决方案 »
- Mysql方面的基础资料最好是PPT
- 求两条查询优化
- MySQL中插入一条数据时,如何取到自增的主键值?
- mysqlcc名称,主机名,用户名,密码应该填写什么?
- 我在xp上安装PHP,apache,postgresql后,连接数据库总不行,是不是postgresql没有设置啊?那又应该怎么设置啊?
- 求助!!!急!小女子先谢过了!!有关在mysql如何得到记录数的问题
- longblob是什么数据类型啊?
- 我用c api访问mysql,老是出错,内存不可读。
- ???请教各位大侠,在mysql中对子查询和存储过程有何变通的实现方法???
- 求一个Mysql的查询SQL优化
- 如何排序这样的字段?
- 求MYSQL好书籍~
不如根据原来的表结构以及你要改的字段类型创建一个新的表:
原表为t, 新表为t2
1. create table t2(col1,....colN)其中包括你修正以后的某字段
2. insert into t2 select * from t
3. 将原表重命名备份:
rename t to t_orig;
4. 将新表重命名为原表
rename t2 to t;
TO ACMAIN_CHM 没有外键参照,就是一个普通的字段
2. 使用mysqldump, 或者 select * from old_table into 'mdata.dat' 导出文件。
3. 运行create table new_table .... 创建新表 (先不创建索引)
4. mysql <xxx.sql 或者 load data infile .. 把刚才导出的数据导入。
5. 创建索引。
6. RENAME TABLE old_table TO back_table
7. RENAME TABLE new_table TO old_table
2.5 LOCK TABLES old_table (锁定原表)
3. 运行create table new_table .... 创建新表 (先不创建索引)
如果生产环境,而且不能下线的话,这个方法不太合适啊,ACMAIN_CHM
呵呵,没事,谢谢,shine333的捧场!