Now with the 11g we all can start the new release — at least on Linux x86 — so naturally, I was curious to see whether I was just throwing sparks without having a fire. Query Result Cache was the first new feature that I put to the test, only to discover that you can spend more than two minutes waiting on… guess what?
There’s an interesting dynamic going on right now in the DBA world. MySQL’s growth and installed base, as a function of its size three or five years ago, is perhaps five if not ten times larger than it was. In 2002 when Pythian’s MySQL services launched, we took on the platform at the explicit request of an existing customer that was primarily an Oracle shop, but that was adopting MySQL for some bolt-on systems. Today, MySQL is our fastest-growing practice in terms of new customer acquisition. The point I want you to take away from that is simply this: there are about five to ten times more high-value environments running MySQL in the world today than there were three years ago.
So what is SQL Performance Analyzer (SQLPA)? The DBMS_SQLPA package enables you to register and compare the statistics of several SQL query executions stored in an SQL Tuning Set (STS). With SQL Performance Analyzer, you can compare the executions of queries before and after you make some changes to your database. As you might guess, I’m going to illustrate this new feature in Oracle 11g with a simple example.
About six weeks ago, I wrote, with my colleagues here at Pythian, an open letter to Larry Ellison, imploring him and Oracle to free API-level access to Automated Workload Repository (AWR) and Active Session History (ASH). This letter has received amazing support from the community, with 158 “signatories” at last count, and many other positive comments.
We received an informal but cordial response from Oracle two or three days after we couriered the letter to them, which said we could expect a formal reply soon.
I rushed into my favorite book, Oracle Database Licensing Information – 11g Release 1. Guess what? We now have 4 new opportunities to do business with Oracle. I still miss the price list. As if you could look at a new Release without the price ;)
It would not have been fair to show how Oracle 11g optimizer can now re-parse a query based on the execution statistics associated with a bind value compared to the previous executions of the same query with different bind values. It would not have been fair, to show you that without showing what happens when the second execution is faster that the first one, even with a sub optimal plan. This is what I’ll do now !
Basically, what is done in the example below it the opposite of what I’ve done in my previous post.
The example in this post is intended to be use as a demonstration of the new bind peeking algorithm of 11g. You’ll have to understand how it works before screaming! If it significantly enhances the behavior of the optimizer, I’ll show you in a next post it also has its own drawbacks, you’ll have to overcome…
To avoid being too far behind you guys that are already upgrading to 11g, I’ve decided to invest on 11g during the Beta Program. This has been a lot of fun and I wish I can share some of my findings with you. For example, did you know that 11g can go faster without any change at all ? The queries here will illustrate the change made to the Nested Loop Algorithm in 11g :
Thanks to Jeremy Schneider for quick info that Oracle 11g is available for download on OTN.
Yes, I know, this subject of detailed extent map of the datafiles is a rather old one, and a few different solutions have been provided by several professionals, including the famous Tom Kyte. But none of the answers I found did exactly what I wanted, and therefore, I chose to write my own solution. OEM does provide this, but for a price — the Tablespace Map is part of the Oracle Tuning Pack — and I like the free stuff and the extra flexibility I have using queries.