• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 性能模式查询

    预过滤限制了收集的事件信息,并且独立于任何特定用户。相比之下,后过滤由单个用户通过使用带有适当WHERE子句的查询来执行,这些子句限制在应用预过滤后从可用事件中选择什么事件信息。

    在“事件预过滤”中,一个示例演示了如何对文件工具进行预过滤。如果事件表同时包含文件和非文件信息,则后过滤是仅参见文件事件信息的另一种方法。WHERE在查询中添加一个子句以适当地限制事件选择:

    mysql> SELECT THREAD_ID, NUMBER_OF_BYTES
           FROM performance_schema.events_waits_history
           WHERE EVENT_NAME LIKE 'wait/io/file/%'
           AND NUMBER_OF_BYTES IS NOT NULL;
    +-----------	+-----------------	+
    | THREAD_ID	| NUMBER_OF_BYTES	|
    +-----------	+-----------------	+
    |        11	|              66	|
    |        11	|              47	|
    |        11	|             139	|
    |         5	|              24	|
    |         5	|             834	|
    +-----------	+-----------------	+
    

    大多数性能模式表都有索引,这使优化器可以访问除全表扫描之外的执行计划。这些索引还可以提高相关对象(例如sys使用这些表的架构视图)的性能。有关更多信息,请参见“优化性能模式查询”。