While a thread does a SELECT on a table, other threads doing an
INSERT are Locked. I'm ok with that.
But what I don't understand is : " why is the INSERT thread still
Locked while the SELECT thread is Sending data " ???
For example, imagine a big table with a lot of rows.
- a distant client is doing a big SELECT on the table. The
result of the query will take a while to be sent back to the
requesting client ...
- a local thread does an INSERT in the table. Then this thread
will stay locked until all the result will be send to the first
Wouldn't the normal be to Lock the INSERT thread only during the
SELECT thread acts on the table ? Does the SELECT thread still have
to lock the table while it is sending data ?
This would be a great improvement to be able to Lock the table only
during the execution of the request and to free it before "Sending
the data" isn't it ?