V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
liyu4
V2EX  ›  问与答

mysql update 语句执行的非常慢

  •  
  •   liyu4 · Dec 21, 2016 · 2835 views
    This topic created in 3415 days ago, the information mentioned may be changed or developed.

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

    有没有大神来评论一下?
    liyu4
        4
    liyu4  
    OP
       Dec 22, 2016
    是的,这个更新过程是非常的耗费时间的。
    liyu4
        5
    liyu4  
    OP
       Dec 22, 2016
    @sorra 期待大神来评论
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1194 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 23:28 · PVG 07:28 · LAX 16:28 · JFK 19:28
    ♥ Do have faith in what you're doing.