SQL Profiler CPU/持续时间单位
探查器中 SQL Server 跟踪的输出包含 CPU 和持续时间列(等等)。 这些值的单位是什么?
The output from a SQL Server trace in profiler contains the columns CPU and Duration (amongst others). What units are these values in?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这让我很困惑,这就是原因。
到 2023 年,我们有 2 种类似的方法来分析 SQL Server,两者都是内置的。 首先 - 打开 SSMS 工具窗口并选择 SQL Profiler。 这将打开一个分析器作为单独的应用程序。 第二种现代方式称为 XEvent Profiler,直接位于 SSMS 中 SSMS 对象资源管理器中所有其他组下:
如果从工具菜单打开 SQL Profiler您将看到以毫秒为单位的持续时间(例如 1000 表示 1 秒)。
但是,如果您从对象资源管理器打开
XEvent Profiler
,它会显示以微秒为单位的持续时间(例如 1000000 表示 1 秒)。我希望这可以节省某人很多时间。
This confused me a lot and this is why.
In 2023 we have 2 similar ways to profile SQL Server, both are build-in. First - open SSMS Tools window and select SQL Profiler. This will open a profiler as a separate application. The second modern way called
XEvent Profiler
and located directly in SSMS under all other groups in SSMSObject Explorer
:If you open SQL Profiler from the tools menu you will see Duration in milliseconds (for example 1000 means 1 second).
But if you open
XEvent Profiler
from Object Explorer it shows Duration in microseconds (for example 1000000 means 1 second).I hope this can save someone a lot of time.
CPU 的单位是毫秒。
在 sql server 2005 及更高版本中,保存到文件或表时的持续时间以微秒为单位,在用户界面中以毫秒为单位。 在sqlserver 2000中,它总是以毫秒为单位。 来自 MSDN。
用户 jerryhung 在评论中给出了更准确的版本特定信息:
CPU is in milliseconds.
In sql server 2005 and later, duration is in microseconds when saved to a file or a table, and milliseconds in the user interface. In sqlserver 2000, it is always in milliseconds. From MSDN.
User jerryhung gives a more accurate version-specific information in a comment:
根据文档(对于 SQL Server Profiler 2016),默认单位为持续时间列是毫秒。
可以在常规选项中将其更改为微秒:
工具 -> 选项
在旧版本的 DBMS 上使用 2016 分析器没有任何问题。
According to the documentation (for SQL Server Profiler 2016) the default unit for the Duration column is milliseconds.
It can be changed to microseconds in the General Options:
Tools->Options
Nothing wrong with using 2016 profiler on older versions of the DBMS.
我发现在 SQL Server 2017 中,该持续时间在 Profiler 视图中显示为毫秒,但当我导出到表时,它显示为微秒。 一开始有点混乱。
I found in SQL Server 2017, that duration showed as milliseconds in the Profiler view, but when I exported to a table it showed in microseconds. A bit confusing at first.