May 25, 2012

Post: Join Optimizations in MySQL 5.6 and MariaDB 5.5

… to MySQL 5.6. Next interesting thing are the last two columns of the table above and the values for ‘Handler_read_key’, ‘Handler_read_next‘ and ‘Handler_read_rnd_next‘. MariaDB 5.5 with Hash Joins enabled is doing less Handler reads as compared to when…

Post: Multi Range Read (MRR) in MySQL 5.6 and MariaDB 5.5

…bound workload, mentioned above. Counter Name MySQL 5.5 MySQL 5.6 MySQL 5.6 w/ read_rnd_bufer_size=4M MariaDB 5.5 … Handler_read_key 508833 623738 622184 508913 507516 Handler_read_next 574320 574320 572889 574320 572889 Handler_read_rnd_next 136077 136094 136366 136163 136435 Innodb_buffer_pool_read

Post: Index Condition Pushdown in MySQL 5.6 and MariaDB 5.5 and its performance impact

… in preparation for the talk comparing the optimizer enhancements in MySQL 5.6 and MariaDB 5.5. We are taking a… optimizer enhancement Index Condition Pushdown (ICP). Its available in both MySQL 5.6 and MariaDB 5.5 Now let’s take…

Post: What does Handler_read_rnd mean?

MySQL‘s SHOW STATUS command has two counters that are often confusing and result in “what does that mean?” questions: Handler_read_rnd Handler_read_rnd_next As… read a row based on a primary key value. Handler_read_rnd_next is incremented when handler::rnd_next() is called. This is basically a cursor operation: read the “next

Post: Ultimate MySQL variable and status reference list

MySQL manual, …Handler_prepareblogpercona.commanual Handler_read_firstblogpercona.commanual Handler_read_keyblogpercona.commanual Handler_read_lastblogpercona.commanual Handler_read_nextblogpercona.commanual Handler_read_prevblogpercona.commanual Handler_read_rndblogpercona.commanual Handler_read_rnd

Post: MySQL: Followup on UNION for query optimization, Query profiling

Handler_delete | 0 | | Handler_discover | 0 | | Handler_prepare | 0 | | Handler_read_first | 0 | | Handler_read_key | 1 | | Handler_read_next | 42250 | | Handler_read_prev | 0 | | Handler_read_rnd | 0 | | Handler_read_rnd_next | 0 | | Handler_rollback | 0 | | Handler_savepoint | 0 | | Handler

Post: How to estimate query completion time in MySQL

… to choose another thread and watch only its status, but MySQL doesn’t currently let you do that.) The solution was… -r -i 10 | grep Handler_read_rnd_next — ignore the first line of output… | Handler_read_rnd_next | 429224 | So the server was reading roughly 43K rows per second…

Comment: What does Handler_read_rnd mean?

… (0.00 sec) mysql> show status like ‘Handler_read_rnd_next‘ ; +———————–+——-+ | Variable_name | Value | +———————–+——-+ | Handler_read_rnd_next | 4 | +———————–+——-+ 1 row in set (0.00 sec) Handler_read_rnd_next was not incremented…

Post: Joining on range? Wrong!

… of MySQL, however unless…Handler_read%’; +———————–+——–+ | Variable_name | Value | +———————–+——–+ | Handler_read_first | 0 | | Handler_read_key | 3 | | Handler_read_next | 118181 | | Handler_read_prev | 0 | | Handler_read_rnd | 0 | | Handler_read_rnd_next

Comment: What does Handler_read_rnd mean?

… the copy the second time does not increment Handler_read_rnd_next. However, scanning the original mysql.user does. So it is not the size… mystery that I do not understand, though, is how incrementing Handler_read_rnd_next is avoided on a MyISAM table without the query cache…(READ_RECORD *info) { int tmp; while ((tmp=info->file->rnd_next(info->record))) { /* rnd_next can return RECORD_DELETED for MyISAM when one thread is reading