SQL & PL/SQL

SQL and PL/SQL Articles

Natalka Roshak's picture

Recursive WITH, part III: IS_LEAF

The CONNECT BY syntax provides a useful pseudocolumn, CONNECT_BY_ISLEAF, which identifies leaf nodes in the data: it’s 1 when a row has no further children, 0 otherwise. In this post, I’ll look at emulating this pseudocolumn using recursive WITH.

articles: 
Natalka Roshak's picture

Recursive WITH, part II: Hierarchical queries

In my last post, I looked at using recursive WITH to implement simple recursive algorithms in SQL. One very common use of recursion is to traverse hierarchical data. I recently wrote a series of posts on hierarchical data, using Oracle’s CONNECT BY syntax and a fun example. In this post, I’ll be revisiting the same data using recursive WITH.

articles: 
Natalka Roshak's picture

Recursion with recursive WITH

I recently had the opportunity to talk with Tom Kyte (!), and in the course of our conversation, he really made me face up to the fact that the SQL syntax I use every day is frozen in time: I’m not making much use of the analytic functions and other syntax that Oracle has introduced since 8i.

articles: 

Identifying missing FK indexes

Why publishing this under SQL instead of RDBMS Server?

The necessaty to create supporting indexes for foreign keys has been explained in other articles.
However writing a foolproof query to identify missing FK indexes is not so straightforward as it might look. I used to do it PLSQL, but this has proven not to scale very well and taking quite some elapsed time and system resources in databases with many thousands of tables. The blog entry is about the challenge to get the job done with a well performing SQL statement.

articles: 

Tuning SQL with dynamic sampling

Another example of what I think of as "the self-tuning database". Setting optimizer_dynamic_sampling=11 can fix many performance problems, without the DBA needing to use his brain at all.

articles: 

Book review: Kevin Meade, Oracle SQL Performance Tuning and Optimization

Excellent exposition of a very effective SQL tuning metodology

articles: 

Oracle External Tables

 The Oracle external tables feature allows us to access data in external sources as if it is a table in the database.
 External tables are read-only.
 No data manipulation language (DML) operations is allowed on an external table.
 An external table does not describe any data that is stored in the database.

articles: 

V$RESERVED_WORDS & X$KWDDEF - Interesting facts!

It's a lazy Friday and I saw an interesting question in Stack Overflow about "Why are there two “null” keywords in Oracle's v$reserved_words view?" And I spent next 2 hours digging into knowing the reason. Here are my findings:

We need to understand how to interpret the view v$reserved _words. To determine whether a particular keyword is reserved in any way, check the RESERVED, RES_TYPE, RES_ATTR, and RES_SEMI columns.

articles: 

Why SQL Server is confounding the Oracle Index Rebuild debate

After more than 20 years of working with Oracle databases, I have recently found myself using SQL Server for the very first time. Until now, I have been a passive observer in the My-Database-Is-Better-Than-Yours wars, so it’s a pleasant change to be able to finally contribute.

articles: 

Go native! PL/SQL native compilation

Why use interpreted PL/SQL when native compiled PL/SQL is so much faster? No reason at all - except that interpreted is the default, and most DBAs never change this. They should.

articles: 

Pages

Subscribe to RSS - SQL & PL/SQL