同一个库,有一个表的条件批量插入到另一个库
insert into table select A,B from table1 where *.*;
table1 A,B索引建了有200多万数据,插入40多万数据 用了9秒
请问有没有优化的方法

解决方案 »

  1.   

    insert into table (A,B)
    select A,B from table1 where ....
      

  2.   

    插入40多万数据 用了9秒 已经不错了。
    如果真想优化 单从sql语句上实现不了。
      

  3.   

    mysql的索引好像没oracle那么明显,运行没索引的34秒,加了索引之后才快了2秒
    有没有有效提速的方法,对于一个数据量有200多万的表,我要通过它的类型不同,反复的去查这个表
    造成查询速度很慢,有没有好的方法或意见
      

  4.   

    你的mysql是哪个版本的 ?
      

  5.   

    如果是为了查询,从来都不建议使用临时表的,用临时表绝对是最慢的,不到万不得已不要用,
    你可以通过优化查询方法来实现比较好,再者,索引的使用很有讲究的,好的索引才能提高效率,
    我曾经优化索引出现过耗时只有之前30%左右的情况,数据库方面优化提速的空间很大,再复杂的查询逻辑,
    只要通过合理的字段冗余、索引、SQL逻辑等的优化保证可以在0.2S内完成,况且MySQL速度比Oracle快很多的
      

  6.   

    我的这个是统计不是查询,如果查询时很快,如果是统计的话就慢很多,而且要写到存储过程里,
    会反复用到一个表,由于表数据量比较大,只能在某个范围内,把表数据插入临时表内在查,我的意思是有什么方法,不用临时表,也能将这个范围的数据保存下来,让我下个SQL语句可以用到它
      

  7.   

    在表结构和SQL上下完功夫,就应该在MYSQL的服务器参数上进行优化了