相同的一条语句 执行很多遍 时间不一样

来源:5-1 SQL调优实战1-常规调优

慕沐6666697

2020-09-29 02:17:45

老师

我发现相同的一条语句 执行很多遍 时间不一样 有时候 能相差不少

这是为啥呢?

写回答

1回答

大目

2020-09-29

您好,执行时间不同是比较好理解的:

  1. 我们的机器运行着多个应用,CPU核心会存在切换,如果请求某个SQL时,CPU正好在执行其他任务,那么这次就会比较慢一些;因此在课程开始,我说实际做benchmark时,应该把被性能测试的软件(对于这里就是MySQL啦)部署到独立的机器,减少其他软件的干扰

  2. 即使机器上只部署了MySQL,每次执行的耗时可能也是不一样的。因为不同时间MySQL的繁忙程度不同。因此,课上才说实际做benchmark时,应该多次测试,求平均值

  3. 缓存。比如innodb_buffer_pool_size,如果你后续的查询正好被缓存了,那么查询就会特别快。所以实际做benchmark时,不应该用同一个条件,而是随机条件。

这几点,课程其实有讲过。但是课程时间比较有限,所以没有去演示这些操作。

0

Java架构师-技术专家

千万级电商项目从0到100全过程,覆盖Java程序员不同成长阶段的核心问题与解决方案

2672 学习 · 5839 问题

查看课程