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

mysql profiler“发送数据”

  •  7
  • andersonbd1  · 技术社区  · 14 年前

    有没有关于这些状态的解释?

    http://dev.mysql.com/tech-resources/articles/using-new-query-profiler.html

    select count(*)
    from 135_5m.record_updates u, 135_5m.records r
    where  r.record_id = u.record_id  and 
      (u.date_updated > null or null is null)  and 
      u.date_updated <= '2011-01-03';
    

    它返回一个数字-4053904。那么,为什么大部分时间都花在“发送数据”上呢?只是名字不好?“发送数据”肯定不仅仅是发送数据吗?

    +--------------------------------+-----------+-------+
    | Status                         | Duration  | Swaps |
    +--------------------------------+-----------+-------+
    | starting                       |  0.000224 |     0 |
    | checking query cache for query |  0.000188 |     0 |
    | checking permissions           |  0.000012 |     0 |
    | checking permissions           |  0.000017 |     0 |
    | Opening tables                 |  0.000036 |     0 |
    | System lock                    |  0.000015 |     0 |
    | Table lock                     |  0.000067 |     0 |
    | init                           |  0.000105 |     0 |
    | optimizing                     |  0.000052 |     0 |
    | statistics                     |  0.000254 |     0 |
    | preparing                      |  0.000061 |     0 |
    | executing                      |  0.000017 |     0 |
    | Sending data                   | 32.079549 |     0 |
    | end                            |  0.000036 |     0 |
    | query end                      |  0.000012 |     0 |
    | freeing items                  |  0.000089 |     0 |
    | storing result in query cache  |  0.000022 |     0 |
    | logging slow query             |  0.000008 |     0 |
    | logging slow query             |  0.000008 |     0 |
    | cleaning up                    |  0.000011 |     0 |
    +--------------------------------+-----------+-------+
    
    2 回复  |  直到 14 年前
        1
  •  10
  •   Mikko Wilkman    14 年前

    http://dev.mysql.com/doc/refman/5.0/en/general-thread-states.html

    执行意味着线程 起动 执行时,发送数据显然包括了行的处理和将计数发送回客户机。

        2
  •  0
  •   hellojinjie    13 年前