XORM执行sql语言,这么慢吗?

EddieChan1993 · 2018-09-27 15:53:40 · 1122 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2018-09-27 15:53:40 的主题,其中的信息可能已经有所发展或是发生改变。

我的业务代码如何

    var sql string
    if req.UpgradeType == UPGRADE_EQUIP {
        sql = "update user_info set equip_id=equip_id+1,coin=coin-?  where coin>=? and open_id=?"
    } else if req.UpgradeType == UPGRADE_HELPER {
        sql = "update user_info set helper_id=helper_id+1,coin=coin-? where coin>=? and open_id=?"
    }
    res, err := trans.Exec(sql, models.COIN_WASTE, models.COIN_WASTE, userInfo.OpenId)

...中间没有任何sql执行,代码量很少,几乎可以忽略执行时间...

    m := new(models.CoinLog)
    m.Type = Type
    m.Nums = coinNums
    m.Uid = uid
    _, err := trans.InsertOne(m)
    if err != nil {
        return logs.SysErr(err)
    }
    return nil

postman平均执行时间370ms,开启事物了的,但也不至于这么长时间吧,我初步推断是xorm导致的时间消耗


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1122 次点击  
加入收藏 微博
2 回复  |  直到 2018-09-29 17:17:40
jarlyyn
jarlyyn · #1 · 6年之前

直接用sql库执行一遍对比一下

ggsimida
ggsimida · #2 · 6年之前

建议先explain下sql语句吧

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传