MySQL Query Profiling with Performance Schema

One of my favorite tools for query optimization is profiling. But recently I noticed this warning: After looking through certain documentation , I should indeed start using the Performance Schema to get this information. Okay, so let’s give that a try. I confirmed that I started MySQL 5.6.23 with the default of Performance Schema = ON:…

The Internal Workflow of an E-Business Suite Concurrent Manager Process

This is the first article in a series about performance of concurrent processing. We’ll take a closer look at the internals of concurrent managers, the settings that affect their performance and the ways of diagnosing performance and configuration issues. Today we’ll start with an overview of the internal workflow of a concurrent manager process. Enjoy the reading!

How to Tune Using v$mystat

When reviewing the performance of some queries, it is sometimes useful to review the sessions statistics for each execution of the query. I had a situation that required to look at these stats so I could see why one query would run fast and sometimes much slower. I wrote a simple wrapper ksh shell script for the query. It saves the session statistics in a table before and after the execution of the query and then prints out the statistics in a pivot report. This turned out to be very handy to me and therefore I chose to share it with the world :)

Good Database Design is Mightier than Hardware

Have you ever heard the one about throwing hardware at a software problem? I have this nifty RAC system that supports some very public and very mission-critical apps, and one day (it was Sunday night) it starts choking. We’re getting enqueues. Slowly they start climbing. Ten nodes came to a crashing halt. I have now seen a ten-node RAC cluster come to crashing halt and completely lock up. Why, you ask? A simple SQL statement: DELETE FROM a WHERE b=c AND d=e;.