Buy Percona ServicesBuy Now!

COUNT(*) vs COUNT(col)

 | April 10, 2007 |  Posted In: Insight for Developers

Looking at how people are using COUNT(*) and COUNT(col) it looks like most of them think they are synonyms and just using what they happen to like, while there is substantial difference in performance and even query result. Lets look at the following series of examples:

Read More

PHP Sessions – Files vs Database Based

 | March 27, 2007 |  Posted In: Insight for Developers

One may think changing PHP session handler from file based to database driven is fully transparent. In many cases it is, sometimes however it may cause some unexpected problems as happened to one of our customers. If you use file based sessions PHP will lock session file for whole script execution duration, which means all […]

Read More

Only Design What You Can Implement

 | March 26, 2007 |  Posted In: Insight for Developers

Working with various projects using MySQL I observe a lot of problems are coming from very simple fact – product is designed containing features which developers do not know how to implement effectively. In many companies you would see “waterfall” like approach for web application development at least on business-development boundary. Business people would dream […]

Read More

To UUID or not to UUID ?

 | March 13, 2007 |  Posted In: Insight for Developers

Brian recently posted an article comparing UUID and auto_increment primary keys, basically advertising to use UUID instead of primary keys. I wanted to clarify this a bit as I’ve seen it being problems in so many cases. First lets look at the benchmark – we do not have full schema specified in the article itself […]

Read More

Mail clients and Databases

 | March 13, 2007 |  Posted In: Insight for Developers

I get a lot of mail and I prefer to store it for long time if not forever. With modern hard disk sizes it should not be problem at all, but because of how mailing programs are written it causes a lot of problems. I’ve tried a lot of programs – Kmail, Evolution, Thunderbird on […]

Read More

System size and Performance Optimization

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

Performance optimization is never ending story, you can virtually always find something else to optimize but while on generic system, not tuned by expert you often can get significant performance increase in the matter of hours further performance improvements become more and more time consuming and expensive and gains smaller. This observation does not only […]

Read More

MySQL Error control changes

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

In MySQL 5.0 mainly error control was improved, such as strict mode was added to change famous MySQL behavior of cutting too large strings, too big numbers and allowing you to use dates such as February 31st. In one case however reverse change was done – in regards to storage engine initialization. Previously if you […]

Read More