V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
liyu4
V2EX  ›  问与答

mysql update 语句执行的非常慢

  •  
  •   liyu4 · 2016-12-21 18:06:04 +08:00 · 2429 次点击
    这是一个创建于 2927 天前的主题,其中的信息可能已经有所发展或是发生改变。

    update dx_segmentdetail a1, dx_segmentidf a2 set a1.keyidf= a2.keyidf, a1.keytfidf= a1.keytf*a2.keyidf where a1.stat_date='2016-10-11' and a1.keyname = a2.keyname

    同时更新两张表,是这样更新有错误吗?

    5 条回复    2016-12-22 13:33:44 +08:00
    sorra
        1
    sorra  
       2016-12-21 19:03:54 +08:00
    索引怎么建的?
    liyu4
        2
    liyu4  
    OP
       2016-12-22 10:21:26 +08:00
    @sorra keyname stat_date 都有索引
    sorra
        3
    sorra  
       2016-12-22 11:59:13 +08:00
    你在用 SQL 实现 TF-IDF 算法?这个要调优可能还真不容易。
    我特意建了十万行数据,用你的 SQL 修改其中一万行,花了 1.5 分钟。
    改成 select ,花了 0.5 分钟。
    你可以 explain 一下看看,扫描行数颇多。笛卡尔积的规模更大。

    有没有大神来评论一下?
    liyu4
        4
    liyu4  
    OP
       2016-12-22 13:30:40 +08:00
    是的,这个更新过程是非常的耗费时间的。
    liyu4
        5
    liyu4  
    OP
       2016-12-22 13:33:44 +08:00
    @sorra 期待大神来评论
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3679 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:20 · PVG 12:20 · LAX 20:20 · JFK 23:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.