gpt4 book ai didi

sql-server - 查询基准测试

转载 作者:行者123 更新时间:2023-12-02 23:12:43 25 4
gpt4 key购买 nike

序言

我对使用 native SQL 聚合函数和 SSIS 中提供的聚合之间的性能差异有一个假设(数据库将压垮 SSIS)。我想开发一个经验过程来测试这一点。

对于初始测试,我唯一关心的是执行速度。后续迭代将涵盖 CPU 和内存成本。

为了实现这一目标,我构建了一个小表(100M 行)并希望捕获时序差异。我计划通过比较 OnPreExecute 和 OnPostExecute 的时间来在 SSIS 包中完成这一切。

第一个数据流将采用 SELECT * FROM TABLE 的形式,而后者将采用 SELECT Aggregate(col1) FROM TABLE

SSIS AggregateDatabase Aggregate

类似的问题,但不是我要找的

tl;博士;

为了使评估尽可能均匀,我应该

  • 在步骤之间刷新缓存
  • 通过预先执行查询来预热缓存
  • 其他东西

如果决定刷新,则为 dbcc freeproccache足够了还是我需要 dbcc dropcleanbuffers

最佳答案

我认为您确实想在运行之间清除页面缓存。

如果是我,我会运行类似的代码:

DBCC FREEPROCCACHE
CHECKPOINT
DBCC DROPCLEANBUFFERS

FREEPROCCACHE仅清除计划缓存,与数据页无关。

CHECKPOINT 会将所有脏页刷新到磁盘。

DROPCLEANBUFFERS 将清除数据页的缓冲池。

对于在 SSMS 中运行的任何内容,我还会考虑使用 SET STATISTICS IO ONSET_STATISTICS TIME ON

关于sql-server - 查询基准测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8232677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com