代码之家  ›  专栏  ›  技术社区  ›  FGM

MySQL“设置名称”位于慢速查询日志顶部附近

  •  4
  • FGM  · 技术社区  · 17 年前

    在最近发布的一个网站上,我注意到,与该网站上的实际繁重查询相比,数百万查询中最昂贵的请求实际上是设置名称,平均时钟超过2.3秒,而各种多连接联合查询的时钟远低于2秒。最后,这会将它放在慢速查询日志的顶部,我想不出优化它的方法。

    由于集合名称是关于排序规则的,因此以下是相关信息:

    • 数据库及其所有表都使用utf8\u general\u ci

    1 回复  |  直到 17 年前
        1
  •  6
  •   Vegard Larsen Julie Lerman    17 年前

    如果所有查询都很慢,则集合名称在服务器上的优先级可能很低,因此需要等待负载消失。如果您有许多其他查询需要花费很长时间才能执行,那么您可能需要首先尝试优化这些查询。

    [mysqld]
    init-connect = 'SET NAMES utf8'
    

    这样可以确保在客户端连接时将字符集设置为UTF-8,因此客户端不必等待此“查询”的结果。您可能希望在软件中禁用集合名称查询。

    基本上,我不会太担心,除非你真的有很多需要这么长时间的集合名。