June 18, 2013

Post: Hacking to make ALTER TABLE online for certain changes

TABLE `huge_table` CHANGE `id` `id` int(6) NOT NULL and then wait hours for tablemysql> UNLOCK TABLES; Query OK, 0 rows affected (0.00 sec) mysql> SHOW CREATE TABLE `huge_table`\G *************************** 1. row *************************** Table: huge_table Create Table: CREATE TABLE `huge_table

Post: Should we give a MySQL Query Cache a second chance ?

… 10 years, with very little changes done to the core of original implementation which appeared in MySQL 4.0 Query Cache was… queries cache for given table. Instead we could track versions for tables (increment each time table is updated) and check whenever version matches for all tables on… generated, wait for completion and when simply use it. More Granular Invalidation Can we get something less coarse than per table invalidation ? It…

Post: Ultimate MySQL variable and status reference list

change_dbblogpercona.commanual Com_changetable_definition_cacheblogpercona.commanual table_lock_wait_timeoutblogpercona.commanual Table_locks_immediateblogpercona.commanual Table_locks_waitedblogpercona.commanual table_open_cacheblogpercona.commanual table

Post: MySQL 5.5 and MySQL 5.6 default variable values differences

…ON | OFF | | PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_SIZE | 10 | 5 | | PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_LONG_SIZE | 10000 | …2M. This change should help many small sorts for which allocation of 2M for sort buffer was…MySQL 5.6 innodb_file_per_table is now ON by default. This is very big change

Post: Recovery deleted ibdata1

waiting for i/o request (log thread) I/O thread 2 state: waiting for i/o request (read thread) I/O thread 3 state: waiting formysql# And restart MySQL: root@localhost:/var/lib/mysql# /etc/init.d/mysql restart After the restart all InnoDB tables are reachable: mysql

Post: MySQL caching methods and tips

for MySQL. Popular cache methods The MySQL query cache When the query cache is enabled, MySQLtable change. Peter’s advice in the miss storm blog post suggests that for best performance one should pre-compute the data for… to do the computation while others wait for the result. There are also …

Post: Percona XtraDB Cluster: Multi-node writing and Unexpected deadlocks

mysql> show create table autoinc\G *************************** 1. row *************************** Table: autoinc Create Table: CREATE TABLEChanged: 1 Warnings: 0 node1 mysql> SHOW ENGINE …waiting for our first transaction, but it does not.  Let’s go back to node1 and see what happened: node1 mysql

Post: The new cool MySQL patch has landed! Check your queries performance!

MySQL will not write into slow log any queries executed by the slave’s SQL thread. This patch allows you to changewait is the time (in seconds) query spent either waiting to enter the InnoDB queue or inside that queue waiting for

Post: INSERT INTO ... SELECT Performance with Innodb tables.

…) for table2 table. It also applies to similar tables with where clause and joins. It is important for tablesfor_binlog=1 as well. This is done so enabling binary log does not cause unexpected changesmysql tables in use 1, locked 1 LOCK WAIT 3 lock struct(s), heap size 320, undo log entries 1 MySQL

Post: Write contentions on the query cache

Waiting for query cache lock   | 0.000004 | | Waiting on query cache mutex   | 0.000002 | | Sending data                   | 0.003407 | | Waiting for query cache lock   | 0.000003 | | Waitingfor the lock. Of course, the question was: why did MySQLfor a query, you should suspect either some change