June 19, 2013

Post: MySQL and the SSB - Part 2 - MyISAM vs InnoDB low concurrency

MyISAM for everything!. MyISAM may be good for raw performance, but there are limitations which MyISAM imposes that are difficult to work with.  MyISAM…_buffer_pool_instances=16 metadata_locks_hash_instances=32 table_open_…innodb_stats_persistent innodb_stats_auto_update=off [mysqld_safe] log-error=/…

Post: Test Drive of Solid

…’),(2,’Solid’),(3,’MyISAM‘); mysql> begin; mysql> update test2 set names=’mysql’ where id=1; Session 2: mysql> begin; mysql> update test2 set… do READ-COMMITED for locking reads (SELECT FOR UPDATE/LOCK IN SHARE MODE) as only actual row versions can be locked. With Innodb we would get “SolidDB2″ as result. mysql> update

Post: Using MyISAM in production

… unnoticed with MyISAM storage engine. This hidden corruption may later cause crashes wrong query results and further data corruption. Partial updates. MyISAM is… rows may end up being updated, and you might not know which ones. Concurrency. MyISAM uses table locks and has concurrent inserts which…

Post: Innodb Table Locks

locks, so table locked on MySQL level with LOCK TABLES will not show up out there. Now you may spotted important difference between MyISAM and Innodb when it comes to Table Level Locks. For MyISAM tables running UPDATE query on the table is essentially equivalent to locking

Comment: INSERT ON DUPLICATE KEY UPDATE and REPLACE INTO

… table that “dumps” any updates to the table to a myisam table holding a log of updates. The update table has the same primary… … UPDATE might lock for read access (or lock only the index, or something simmilar) while checking for key value existence, as inserts in myisam… REPLACE solve the issue? Would it work right where INSERT … UPDATE locks?

Post: MyISAM Scalability and Innodb, Falcon Benchmarks

… NOT NULL, PRIMARY KEY (`id`), KEY `val` (`val`) ) ENGINE=MyISAM AUTO_INCREMENT=4097 Table t1 contains about 260,… key cache locking was done so disk IO is not done while lock is held, while lock is still … and see may be brand new Falcon (significantly updated in 6.0.2 release) handles this query: …

Post: Moving from MyISAM to Innodb or XtraDB. Basics

… have hidden dependencies of MyISAM table lock behavior in your applications, also check if your application handled deadlocks well. MyISAM will not produce…. With MyISAM it is often for people to do updates in small chunks, almost row by row to avoid holding table lock for long time in Innodb you want larger updates

Post: Using Multiple Key Caches for MyISAM Scalability

… written before – MyISAM Does Not Scale, or it does quite well – two main things stopping you is table locks and global mutex on the KeyCache. Table Locks are not the issue for Read Only… their relative use activity. I just summed rows modified and updated but you can surely use different formula if you like…

Post: INSERT ON DUPLICATE KEY UPDATE and REPLACE INTO

… Haddad writes about REPLACE INTO and INSERT ON DUPLICATE KEY UPDATE. Really, Why MySQL has both of these, especially both are… you could use LOCK TABLES but it is not efficient. The reason REPLACE could be efficient for ISAM and MyISAM, especially for… with REPLACE was – many people tried to use it like update accessing previous column value, for example doing something like REPLACE…

Post: Beware of MyISAM Key Cache mutex contention

… multiple tables would not be bound by table locks and would be able to use multiple cores …from key_cache to the thread local space. Happily MyISAM allows you to create multiple key caches . We use… was – adding PACK_KEYS=0 to most actively updated tables almost doubled throughput again (and I would …