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 (more...)

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.

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 (more...)

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

But in a nutshell, it protects against of the concept of a low privileged account “asking” a higher privileged account to run something in order to get access to those higher privileges. In human terms, (more...)

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 (more...)

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 (more...)

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, (more...)

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

The skill set of a database practitioner is much more than (more...)

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:


LOBs vs Data – when compression occurs

Just a quick tip for SECUREFILE lobs.

You may be familiar with basic compression on data in tables. It is a dictionary attribute of the table, which is then taken into account when you perform:

  • a SQL Loader direct load, or
  • an INSERT with the APPEND hint, or
  • a bulk bind INSERT in PLSQL using the APPEND_VALUE hint.

Whichever of the above you perform does not really matter – the key thing is that when (more...)