我想复制表A中的相关数据到表B中,以前的做法是首先select出表A中的相关数据,然后再insert到表B 中,但这样的做法是这一进一出I/O操作花费的时间太多了.我想是不是可以在数据库内部实现?换句话说就是尽量减少I/O

解决方案 »

  1.   

    insert into B select * from A;
      

  2.   

    老大啊.你这样做能减少I/O操作使用的时间吗?
    从你的字面上理解是先从A表中得到所有数据后在查到B表中.我理解为要通过两次I/O操作....请老大帮忙解释下,谢谢
      

  3.   

    mysql> select count(*) from song;
    +----------+
    | count(*) |
    +----------+
    |  8102000 |
    +----------+
    1 row in set (0.00 sec)mysql> create table song3 select * from song where id > 1 and id < 500000;
    Query OK, 499998 rows affected (23.61 sec)
    Records: 499998  Duplicates: 0  Warnings: 0