MySQL批量备份或者写入数据
        【摘要】 需求背景在大数据量表的情况下,需要备份一张表中的数据,到另外一张表。尽量不要使用框架的对象insert方法,效率很低。尽量使用SQL的原生写法来完成。如下以<中升事故线索>为例,进行数据的备份。实现方法INSERT INTO old_warn_info (	id,	create_time,	update_time,	adcode,	car_code,	car_plate_num,	car_t...
    
    
    
    需求背景
在大数据量表的情况下,需要备份一张表中的数据,到另外一张表。尽量不要使用框架的对象insert方法,效率很低。尽量使用SQL的原生写法来完成。如下以<中升事故线索>为例,进行数据的备份。
实现方法
INSERT INTO old_warn_info (
	id,
	create_time,
	update_time,
	adcode,
	car_code,
	car_plate_num,
	car_type,
	case_num,
	company_id,
	expect_money,
	follow_time,
	have_shop,
	hint_enter,
	match_eas,
	msg_type,
	real_name,
	remark,
	remarks,
	repeat_data,
	shop_code,
	shop_name,
	src_car_code,
	src_car_plate_num,
	`status`,
	user_name,
	user_phone,
	copy_time 
) SELECT
CONCAT( DATE_FORMAT( SYSDATE( 6 ), '%Y%m%d%H%i%S%f' ), ROUND( RAND() * 10000000000 ) ),
create_time,
update_time,
adcode,
car_code,
car_plate_num,
car_type,
case_num,
company_id,
expect_money,
follow_time,
have_shop,
hint_enter,
match_eas,
msg_type,
real_name,
remark,
remarks,
repeat_data,
shop_code,
shop_name,
src_car_code,
src_car_plate_num,
`status`,
user_name,
user_phone,
DATE_FORMAT( CURDATE(), '%Y-%m-%d' ) 
FROM
	warn_info 
WHERE
	create_time < '2022-01-01' 
      其中,上面大部分都是字段数据的直接拷贝。考虑到新表中的ID格式不同,特别使用的时间戳和随机数重新标记。
类似的数据备份相似的写法。在大数据拷贝的时候,性能比较卓越。可以直接在Navicat中执行,或者通过Java执行。
            【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
                cloudbbs@huaweicloud.com
                
            
        
        
        
        
        
        
        - 点赞
 - 收藏
 - 关注作者
 
            
           
评论(0)