MySQL Forums
Forum List  »  MyISAM

Re: Unable to analyse thread level information in MySQL server
Posted by: Rick James
Date: November 06, 2014 08:35PM

Sorry -- I failed to notice that you are specifically asking about MyISAM. Let me start over...

* InnoDB has io_threads; MyISAM does not.

* The Query cache is still an issue. Suggest you do this to avoid it:
query_cache_type = OFF
query_cache_size = 0
That will _mostly_ eliminate mutexes, etc relating to the QC. SQL_NO_CACHE is processed too late to be an effective way of eliminating some of the mutexes.

* The buffer_pool is for InnoDB. For MyISAM, the "key_buffer" is a cache for _index_ blocks. _Data_ blocks are cached by the OS.

* As before, there is receiving, parsing, QC, optimizing. But, I believe that all the I/O is done by the connection thread. There will be mutexes for coordination (eg, the key_buffer is shared).

* delayed_threads is, I think, a MyISAM thing. But you have to use the DELAYED keyword to get them invoked.

* myisam_repair_threads relates to the REPAIR statement, which you probably won't analyze.

* MyISAM uses "table locks" that are shared (two SELECTs can read the same table at the same time) and exclusive (for writes)

* There are 3 files involved: .frm (schema), .MYD (data), and .MYI (indexes), so you should see 3 opens, at least the first time.

Options: ReplyQuote

Written By
Re: Unable to analyse thread level information in MySQL server
November 06, 2014 08:35PM

Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.