在gp_stock_data_daily表的id字段建立索引

解决方案 »

  1.   

    id 在两表中的索引情况如何?试一下
    delete a from gp_stock_data_daily a ,tmp where a.id=tmp.id
      

  2.   

    mysql5.6之前的版本的in(selct)操作是要禁用的   用表连接来代替in操作
      

  3.   

    前面的表数据量太大,使用in 语法 ,并不能采用索引,其实tmp的数据量不多,可以用 =号 采用循环,删除,肯定快。
    要不 就用 exist语句来替换 in 这样也可以使用 索引,
    这里有 全面的视频www.ppst.cc mysql优化,把自己的博客录制出视频,可以获取收益哦
      

  4.   

    "delete from gp_stock_data_daily where id in (select id from tmp);"估计是卡死了,在命令行使用 show processfull  list  查看吧 。delete   stock    from gp_stock_data_daily   stock inner join       tmp   t    on  t.id=stock.id ;如果 in 后边数据量过大,不建议使用 in 来操作,建议使用廉价查询代替in 关键字 。
      

  5.   

    in 最好不用用,大部分的地方都不能使用所有,可能使用join来代替删除功能。
      

  6.   

    两个ID 建索引  然后用join  操作去删除