场景:.net C# SQL Server
程序框架里有记录每个SQL的执行,也就是SQL执行后的时间减去执行前的时间,若超过1秒,就插入日志表供统计、分析性能
这个逻辑很正常、合理
但却出现较多个例:记录的时间是两个SQL请求之间的间隔时间,而不是单个SQL的执行时间
比如:
第一个SQL:select name from sys.databases where database_id=1 --执行时间通常应该为1ms以内
--间隔 2秒
第二个SQL:select name from sys.tableswhere name='abcd' --执行时间通常应该为1ms以内
程序日志就记录了第一个SQL的执行时间为 2秒
查看了C#记录日志代码,对比了数据库跟踪(trace),网络抓包,发现就是这个现象
不知道有没描述清楚,或者其他小伙伴有没碰到这个现象?
SQL Server 2016 ~ 2000 性能优化、方案设计 QQ:315054403 田园嘉兴