Buy Percona ServicesBuy Now!

Getting use of Slave in MySQL Replication

 | February 14, 2007 |  Posted In: Insight for Developers

MySQL Replication is asynchronous which causes problems if you would like to use MySQL Slave as it can contain stale data. It is true delay is often insignificant but in times of heavy load or in case you was running some heavy queries on the master which not take time to replicate to the slave […]

Read More

Content delivery system design mistakes

 | February 11, 2007 |  Posted In: Insight for Developers

This week I helped dealing with performance problems (part MySQL related and part related to LAMP in general) of system which does quite a bit of content delivery, serving file downloads and images – something a lot of web sites need to do these days. There were quite a bit of mistakes in design for […]

Read More

Why do you need many apache children ?

 | February 5, 2007 |  Posted In: Insight for Developers

I already wrote kind of about same topic a while ago and now interesting real life case makes me to write again 🙂 Most Web applications we’re working with have single tier web architecture, meaning there is just single set of apache servers server requests and nothing else – no dedicated server for static content, […]

Read More

Performance impact of complex queries

 | January 17, 2007 |  Posted In: Insight for Developers

What is often underestimated is impact of MySQL Performance by complex queries on large data sets(ie some large aggregate queries) and batch jobs. It is not rare to see queries which were taking milliseconds to stall for few seconds, especially in certain OS configurations, and on low profile servers (ie having only one disk drive) […]

Read More

Getting real life query speeds with MySQL

 | January 10, 2007 |  Posted In: Benchmarks, Insight for Developers

To check for query performance improvements followed indexing/query changes or MySQL configuration changes our customers often decide to run the query and see if there is any significant improvement. Leaving aside question of checking single query alone might not be the best way to see real improvement for your application, the problem they usually run […]

Read More

MySQL automatic data truncation can backfire

 | January 9, 2007 |  Posted In: Insight for Developers

I had a fun case today. There is set of cache tables which cache certain content in MyISAM tables and queries for these tables such as:

The “key” is CRC32 of the real key which is used to keep index size as small as possible so if we have a cache miss we can […]

Read More

MySQL Session variables and Hints

 | December 28, 2006 |  Posted In: Insight for Developers

MySQL has two ways to find tune execution of particular query. First is MySQL Hints, such as SQL_BIG_RESULT, STRAIGHT_JOIN, FORCE INDEX etc. You place these directly into the query to change how query is executed for example SELECT STRAIGHT_JOIN * FROM A FORCE INDEX(A) JOIN B The other part is session variable. If you know […]

Read More