我在我的微服务中使用go-sql-driver,但我发现更新查询的奇怪事情有时非常缓慢。代码如下:
......
timeCost1 := int64(time.Now().UnixNano())/int64(time.Millisecond)
updateSQL := "updateSQL UPDATE conv SET msg_count = ? , client_msg_count = ? , last_msg_content = ? , last_msg_created_on = ? WHERE id = ?"
// args = [66 33 test 2017-03-29 17:28:29.45927 1489978968]
result, err := db.Exec(updateSQL, args...)
timeCost2 := int64(time.Now().UnixNano())/int64(time.Millisecond)
executeTime = timeCost2 - timeCost1
......
输出sql如下:
UPDATE conv SET msg_num = 66 , agent_msg_num = 33 , last_msg_content = 'test' , last_msg_created_on = '2017-03-29 17:28:29.45927' WHERE id = 1489978968
有时,我发现executeTime
超过10秒,但我无法重现它,并且在mysql slow_query_log中找不到任何慢查询。所以我无法确认它是mysql问题还是去包问题,谁能给我一些好主意?提前谢谢!