John Watson's blog
Submitted by John Watson on Fri, 2017-03-31 05:01
I am fascinated by what I call "equal SQL": statements that are equivalent, in that they deliver the same result but may have hugely different performance characteristics. Here's a little case study.
Submitted by John Watson on Tue, 2016-11-01 17:57
Just how effective is Hybrid Columnar Compression? This test shows that HCC is impressive, but that thought needs to be put into choice of compression algorithm.
Submitted by John Watson on Fri, 2016-10-21 14:54
Comparing database 12cR1 release 188.8.131.52 to 12cR2 release 184.108.40.206.3, I see these new parameters:
Submitted by John Watson on Wed, 2016-10-19 08:10
Move a table without locks and without breaking indexes. That's pretty cool.
Submitted by John Watson on Fri, 2016-10-14 07:54
Developers who come to Oracle with a background in procedural languages sometimes do not understand how efficient SQL's set oriented processing can be. This little demonstration should convince them: never use PL/SQL when SQL will do.
Submitted by John Watson on Sun, 2016-10-02 02:57
We all know that using SELECT * is bad programming. One reason is that you cannot control the order in which columns are returned. Well, you can in release 12c.
Submitted by John Watson on Mon, 2016-09-12 12:02
We are all waiting for database release 12.2 - but you won't get it on your own hardware.
Submitted by John Watson on Sat, 2016-08-20 02:11
Indexes may improve the performance of SELECT statements, but what about DML? This simple demo shows how bad they can be.
Submitted by John Watson on Fri, 2016-08-12 03:44
Many developers find that their code fails with ORA-942, but when they test the failing statement from the SQL> prompt, it works. Why, and what can you do to fix it?
Submitted by John Watson on Fri, 2016-05-20 06:09
I first came across partitioning with release 7, when it didn't exist. Like many DBAs, I simulated it by writing a lot of application code. You can still do this – and you may have to if you haven't bought Enterprise Edition plus the partitioning option. Here's another way to do it, with partitioned views.