AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 636573
Accepted
Glasnhost
Glasnhost
Asked: 2014-10-14 03:08:41 +0800 CST2014-10-14 03:08:41 +0800 CST 2014-10-14 03:08:41 +0800 CST

重复的mysql查询改变执行时间

  • 772

我注意到,当我在我的 mysql 机器上连续执行多次查询时,执行时间在第一次执行后下降并发生显着变化(40/50%),并且没有激活查询缓存并且没有其他进程干扰。

我怀疑其中涉及一些“隐藏”缓存,例如临时表,特别是当查询涉及多个子查询,或者可能是一些磁盘 IO 缓存时,但我真的不明白。

由于有时我需要微调一些查询,所以我不知道如何处理这个问题。我通常做的是多次运行查询并摆脱峰值

我想知道是否有更好的解决方案...

mysql
  • 2 2 个回答
  • 856 Views

2 个回答

  • Voted
  1. Best Answer
    Sven
    2014-10-14T03:14:56+08:002014-10-14T03:14:56+08:00

    操作系统使用未使用的内存作为缓存。为什么这是个问题?

    编辑

    要获取查询操作的不同部分所花费的时间,您可以设置分析

    set profiling=1;
    

    并在运行查询时show profiles和之后显示配置文件 。show profile for query <n>

    • 1
  2. matt_gnu
    2014-10-14T06:47:32+08:002014-10-14T06:47:32+08:00

    请注意优化目标,如前所述:当您针对重复运行优化查询时,您将获得连续多次运行的查询的最佳结果(但您可能会为此使用查询缓存)。

    通过重复查询,您可以“预热”操作系统磁盘缓存,因此磁盘寻道不再计入您的时间。当需要在繁忙的磁盘上进行多次查找操作时,这可能会使您的结果在实际场景中显着恶化。

    旁注:您可能还想尝试“解释选择...”,它将告诉您有关已使用和可用索引的信息。在大多数情况下,这将帮助您确定要创建哪些附加索引或如何重写查询。

    • 1

相关问题

  • 开源与专有关系 db mgt 系统的优缺点是什么?

  • 在 solaris 10 上为 mysql 设置 max_allowed_pa​​cket

  • 如何移动 MySQL 的数据目录?

  • 通过 VPN 连接什么是远程服务器 IP?

  • mysql崩溃

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve