connor_mc_d's picture

Add ORDER BY to make ANY query faster

Yes it’s SCBT day here in Perth!

SCBT = Silly Click Bait Title Smile

This post is just a cautionary tale that it is easy to get caught up judging SQL performance solely on a few metrics rather than taking a more common sense approach of assessing performance based on the true requirements of the relevant component of the application.  I say “true requirements” because it may vary depending on what is important to the application for a particular component.

connor_mc_d's picture

Interval versus Range partitions

One of the nice things about partitioning in the database is that partition pruning can quickly eliminate the requirement to read large amounts of data when the partitioning key(s) are appropriately provided in your queries (and DML). This also extends to queries where the values provided do not map to any partitions.

Here’s a simple example of a range partitioned table which only cover the values from (less than) 1 to a ceiling of 6.

connor_mc_d's picture

The Openworld Mega-Download!

If you are sad and pathetic enthusiastic and interested in content like me, once a large conference like OpenWorld is over, I like to have the content (slides etc ) from not just the sessions I attended, but all of the sessions I could not attend. In fact, I typically would like to have any and all available content, because that is probably the next best thing to attending the conference.

In particular, now that many of the sessions are streamed and/or capture for on-demand replay, either on the OpenWorld site directly, or via the Oracle Developers Youtube channel, the slides can then be viewed along with the presentation that drove them.

connor_mc_d's picture

The strange place for INHERIT PRIVILEGES

A while back in an Office Hours session, I touched on a relatively new privilege in the database called INHERIT PRIVILEGES which is designed to avoid erroneous privilege escalation via AUTHID CURRENT_USER routines.

You can watch the full video below

connor_mc_d's picture

OpenWorld is done!

The OpenWorld conference is over for another year. It’s always a thrill, albeit a hard-working thrill, to visit San Francisco and be a part of such a huge event.

I’ll have a full wrap up post and video soon, but I wanted to get quick blog post out there so people could get a link to see the slides from my sessions.

See my OpenWorld 2018 content here

To all those people that attended my sessions, thanks for giving up your time. I hope you got lots of benefit out of the content. And as always, if you have any feedback on what you liked, or how I can make the content better for you, please drop me a comment below.

If you’d like me to speak at your local event, please reach out to me on Twitter. I can’t make any promises – these things all depend on scheduling and budgeting, but I’ll always try my best.

connor_mc_d's picture

18c XE–running locally

There’s already a few blog posts out there, showing people (easily) getting their 18c XE instance downloaded, installed and running, so I won’t rehash that here.

For the majority of people, I’d imagine they’ll have their XE instance running on a small box and connecting to it from “afar”, namely, their own PC or an application server or similar.

But for those of you, especially in these early stages of release, who like me, want to just jump right into our VM’s and the like, and connect to the XE instance directly, there’s perhaps one thing we omitted as part of the automated install that might catch you out.

The default tnsnames.ora will look something like:

connor_mc_d's picture

18c XE is live!

Just a quick post because this is perhaps what I think is one of the biggest game changers for the Oracle Database.

18c Express Edition (18x XE) is now available for general use. For those people with experience with 11g XE, this might not seem to be a big deal, but there is one crucial difference.

Unlike 11g XE, the new version has virtually no restrictions on the functionality offered by the database. And yes, we are talking Enterprise Edition features and options here.

So if you want to explore:

  • In-memory
  • Multi-tenant
  • Partitioning
  • Text

etc etc etc, the list goes on, then these will all be there in 18c XE for you.

And the product installs with just a couple of commands.

connor_mc_d's picture

OpenWorld Wednesday – step right up!

If you’ve read my two previous posts on the OpenWorld schedule, you’re probably expecting a huge long list of sessions to pique your interest.

But no! There’s only ONE you need on your list Smile

The Fast Lane to Database Success [TIP4094]
Connor McDonald, Developer Advocate for SQL, Oracle
Wednesday, Oct 24, 4:45 p.m. – 5:30 p.m. | Moscone West – Room 3009

connor_mc_d's picture

Compressed LOB–my table got bigger?

We had an interesting question on AskTOM the other day about LOB compression. Someone was very concerned that after applying compression to the LOBS in the column of their table, the table actually got larger! Cue much confusion and panic, but after a little exploration, the explanation was pretty simple.

By default, when you create a LOB column in a table, the default storage definition is ENABLE STORAGE IN ROW. As per the documentation:

If you enable storage in row, then the LOB value is stored in the row (inline) if its length is less than approximately 4000 bytes minus system control information

Jonathan Lewis's picture

Faking Histograms

This is a short index of articles I’ve written on how to create the different types of histogram that the optimizer uses:

To prevent automated spam submissions leave this field empty.
Syndicate content