mysql - 大数据量下的操作相关 (4KW记录,32G) mysql huge data huge table big table import source restore
访问量: 1322
如题
这个时候务必使用SSD硬盘。
导出需要30分钟。
导入需要至少1小时(google cloude), 3 小时(SSD), 4小时(SATA硬盘)
所以,一次导入成功之后,可以copy mysql data_dir , 这样下次就直接复制磁盘就好了。 否则使用SQL恢复的话,4MB/s.
删除: delete from where ... ,大约一秒钟1W条。
这个帖子非常经典:https://stackoverflow.com/questions/812512/faster-way-to-delete-matching-rows
不能使用delete删除大数据,因为 在 inno db模式下,delete是需要回滚的, 每个delete操作,如果中途取消,都会完美恢复原来的记录。 而且就算你的delete执行完了, 数据库中的数据也会留下,直到某个 别的进程不再使用那条记录了,才会被删掉。
解决办法: 参考:https://stackoverflow.com/a/834221/445908
mysql> create table orders_temp like orders; Query OK, 0 rows affected (0.66 sec) mysql> insert into orders_temp select * from orders where member_id != 19 ; Query OK, 531 rows affected (1.66 sec) Records: 531 Duplicates: 0 Warnings: 0 mysql> drop table orders; Query OK, 0 rows affected (0.63 sec) mysql> rename table orders_temp to orders; Query OK, 0 rows affected (0.12 sec)