如何产看SQL 查询的执行时间

要查看 SQL 查询的执行时间,尤其是毫秒级别,可以使用以下几种方法:

方法 1:使用 SET STATISTICS TIME 查看执行时间

SET STATISTICS TIME 会显示执行时间的详细信息,包括 CPU 时间和总耗时。启用后,SQL Server 将在"消息"窗口中显示查询的执行时间信息,精确到毫秒。

sql 复制代码
SET STATISTICS TIME ON;

-- 你的查询语句
SELECT * FROM YourTable WHERE ...

SET STATISTICS TIME OFF;

执行查询后,你可以在"消息"窗口中查看类似如下的信息:

复制代码
SQL Server Execution Times:
   CPU time = 0 ms,  elapsed time = 1 ms.

方法 2:使用 GETDATE()SYSDATETIME() 计算执行时间

你可以在查询前后使用 GETDATE()(精确到毫秒)或 SYSDATETIME()(精确到微秒)获取当前时间,并计算出查询执行的时间差。

sql 复制代码
DECLARE @StartTime DATETIME, @EndTime DATETIME;

-- 获取开始时间
SET @StartTime = GETDATE();

-- 你的查询语句
SELECT * FROM YourTable WHERE ...

-- 获取结束时间
SET @EndTime = GETDATE();

-- 输出执行时间(毫秒级别)
SELECT DATEDIFF(MILLISECOND, @StartTime, @EndTime) AS ExecutionTimeMs;

如果需要更高的精度,可以将 GETDATE() 替换为 SYSDATETIME(),然后将 DATEDIFF 改为 DATEDIFF_BIG

方法 3:使用 SQL Server Profiler 监控查询时间

  1. 打开 SQL Server Profiler,新建一个跟踪。
  2. 选择事件 Performance > SQL:BatchCompletedSQL:StmtCompleted
  3. 在事件属性中勾选"列过滤器"中的 Duration 字段。
  4. 执行查询后,可以在 SQL Server Profiler 中查看执行时间,单位为微秒。

方法 4:使用 Execution Plan 中的实际运行时间

执行查询后,查看执行计划并选择"包括实际执行计划"。在计划中,SQL Server 会显示每个步骤的"实际时间",以帮助分析哪个部分的查询耗时最长。

总结

对于查看毫秒级执行时间,推荐使用 SET STATISTICS TIMEGETDATE() 计时方法。这两种方法可以直接在 SQL Server Management Studio 中快速应用。

相关推荐
2501_933670792 小时前
2026秋招数据分析岗备考路线:SQL、BI、项目与面试题拆解
数据库
我要见SA姐15 小时前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
xcLeigh5 小时前
聊聊国产化替换:好用数据迁移工具KDMS怎么帮咱们搞定评估难
数据库·sql·数据迁移·kes·kdms
Elastic 中国社区官方博客6 小时前
列式存储并不等同于列式数据库。Columnar 模式为 Elasticsearch 带来了什么
大数据·运维·数据库·elasticsearch·搜索引擎
我要见SA姐16 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
数据库·ide·vscode·oracle·编辑器
Nturmoils8 小时前
一份 KDMS 评估报告,怎样排出迁移先后顺序
数据库
这个DBA有点耶8 小时前
异构数据集成怎么做?5 种同步方案对比 + 金融级 CDC 实战解析
数据库·oracle·架构
独泪了无痕8 小时前
SQL函数实战:GREATEST与LEAST的技巧
数据库·sql·mysql
码少女8 小时前
Linux--多路转接之select
java·服务器·数据库
梁辰兴9 小时前
软件工程:软件维护的副作用
数据库·软件工程·梁辰兴·控制方法·软件维护的副作用·副作用类型·副作用原因