What does it mean when MySQL is in the state “Sending data”?

前端 未结 2 1967
灰色年华
灰色年华 2020-11-28 21:53

What does it mean if the Mysql query:

SHOW PROCESSLIST;

returns \"Sending data\" in the State column?

I imagine it means the quer

相关标签:
2条回答
  • 2020-11-28 22:10

    This is quite a misleading status. It should be called "reading and filtering data".

    This means that MySQL has some data stored on the disk (or in memory) which is yet to be read and sent over. It may be the table itself, an index, a temporary table, a sorted output etc.

    If you have a 1M records table (without an index) of which you need only one record, MySQL will still output the status as "sending data" while scanning the table, despite the fact it has not sent anything yet.

    0 讨论(0)
  • 2020-11-28 22:28

    In this state:

    The thread is reading and processing rows for a SELECT statement, and sending data to the client.

    Because operations occurring during this this state tend to perform large amounts of disk access (reads).

    That's why it takes more time to complete and so is the longest-running state over the lifetime of a given query.

    0 讨论(0)
提交回复
热议问题