May 21, 2013

How to obtain the “LES” (Last Executed Statement) from an Optimized Core Dump?

Ever ran into a situation where you saw “some important variable you really needed to know about=<optimized out>” while debugging?

When is MIN(DATE) != MIN(DATE) ?

Inspiration for this post is courtesy of a friend and former colleague of mine, Greg Youngblood, who pinged me last week with an interesting MySQL puzzle. He was running Percona Server 5.5.21 with a table structure that looks something like this:

When he ran this query:

The result came back as 2012-06-22 10:28:16. [...]

Sell-an-Elephant-to-your-Boss-HOWTO

Spoiler alert: If your boss does not need an elephant, he is definitely NOT going to buy one from you. If he will, he will regret it and eventually you will too. I must appologize to the reader who was expecting to find an advice on selling useless goods to his boss. While I do [...]

Full Text Search Webinar Questions Followup

I presented a webinar this week to give an overview of several Full Text Search solutions and compare their performance.  Even if you missed the webinar, you can register for it, and you’ll be emailed a link to the recording. During my webinar, a number of attendees asked some good questions.  Here are their questions and my [...]

Webinar for Full Text Search Throwdown

Tomorrow, August 22 at 10:00am PDT, I’ll present a webinar called Full Text Search Throwdown.  This is a no-nonsense performance comparison of solutions for full text indexing for MySQL applications, including: LIKE predicates and regular expressions MyISAM FULLTEXT indexes InnoDB FULLTEXT indexes Apache Solr Sphinx Search Trigraphs I’ll compare the performance for building indexes and querying [...]

Percona’s “Developer Training for MySQL” is now available via Live Virtual Training

Today, Percona announces that Live Virtual Training is now an option for busy professionals. We set out to develop a training solution that balances the time to deliver the content with the amount of time an attendee can participate in a live virtual training (LVT) session. The goal was to ensure there was still time [...]

SQL Injection Questions Followup

I presented a webinar today about SQL Injection, to try to clear up some of the misconceptions that many other blogs and articles have about this security risk.  You can register for the webinar even now that I’ve presented it, and you’ll be emailed a link to the recording, which will be available soon. During [...]

News Flash: SQL Injection Still a Problem

The threat of SQL injection has appeared prominently in the news recently: An SQL injection vulnerability resulted in an urgent June bugfix release of Ruby on Rails 3.x.  Make sure you upgrade if you use Rails 3.0, 3.1, or 3.2!  Also you should disable mass assignment in any Rails project. Yahoo! Voices was hacked in July.  The [...]

Find unused indexes

I wrote one week ago about how to find duplicate indexes. This time we’ll learn how to find unused indexes to continue improving our schema and the overall performance. There are different possibilites and we’ll explore the two most common here. User Statistics from Percona Server and pt-index-usage. User Statistics User Statistics is an improvement [...]

Find and remove duplicate indexes

Having duplicate keys in our schemas can hurt the performance of our database: They make the optimizer phase slower because MySQL needs to examine more query plans. The storage engine needs to maintain, calculate and update more index statistics DML and even read queries can be slower because MySQL needs update fetch more data to [...]