您的位置: 旅游网 > 时尚

MySQL数据迁移测试

发布时间:2019-09-13 19:17:41

早上在笔记本上测试了一下, 以生成Insert语句的方式, 从Oracle到MySQL迁移数据的速度. 对于MySQL来讲, 是不是绑定变量并不重要, 在MySQL的客户端编程中, 并没有绑定变量的概念, 这是因为MySQL并没有Oracle中类似的共享池, 而是由每个连接进程自行去解释SQL并执行. 写了一个Windows上的批处理脚本, 用SQLULDR2从Oracle中查询数据, 并生成MySQL的Insert脚本, 用管道输入到MySQL中去执行.

@echo off

echo %TIME%

sqluldr2 ... table=emp_his format=mysql quote=0x27 escape=0x53 null=null file=- | mysql test

echo %TIME% 首先在MyISAM下测试, 先将表改成MyISAM方式存贮.

mysql> alter table emp_his engine= myisam;

Query OK, 0 rows affected (0.05 sec)

Records: 0 Duplicates: 0 Warnings: 0 进行数据装载测试, 可以看出还是很快的.

D:mysql-5.0.84-win32in>runload.bat

7:12:28.10

7:12:41.87 查一下总共迁移的记录数.

mysql> select count(*) from emp_his;

+----------+

count(*)

+----------+

951308

+----------+

1 row in set (0.00 sec) 接下来在Innodb下测试, 将表改成Innodb方式存贮.

mysql> alter table emp_his engine= innodb;

Query OK, 0 rows affected (0.06 sec)

Records: 0 Duplicates: 0 Warnings: 0 进行数据装载测试, 可以看出比MyISAM要慢不少.

D:mysql-5.0.84-win32in>runload.bat

7:09:34.85

7:10:06.15 查一下总共迁移的记录数.

mysql> select count(*) from emp_his;

+----------+

count(*)

+----------+

951308

+----------+

1 row in set (2.11 sec) 在MySQL中, 将同样的表从MyISAM转到Innodb, 需要多少时间? mysql> alter table emp_his engine= innodb;

Query OK, 951308 rows affected (16.67 sec)

Records: 951308 Duplicates: 0 Warnings: 0 对于在笔记本上测试的这个结果, 个人是相当满意的, 测试的表有8个字段, 差不多等于平均数.

小孩老咳嗽怎么办
孩子发烧怎么办39度
薏芽健脾凝胶亚宝药业
小儿流鼻血
猜你会喜欢的
猜你会喜欢的