Welcome to my blog with a new (beta) design. I'm still tweaking things, so layout and formatting stuff will change.
Knowing what you want to achieve before thinking of how to achieve it – a query optimization example
Running SELECT … INTO :bind_variable from SQL
Implicit datatype conversion in the parsing phase – something new I learned today!
COUNT STOPKEY operation (the where ROWNUM <= N predicate) doesn't process over ~4 Billion rows and returns wrong results
Read currently running SQL statement’s bind variable values using V$SQL_MONITOR.BIND_XML in Oracle 11.2
Q: The most fundamental difference between HASH and NESTED LOOP joins?
Execution plan Quiz: Shouldn’t these row sources be the other way around ;-)
Non-trivial performance problems
Bind Variable Peeking – execution plan inefficiency
NULL is not zero!
Explain Plan For command may show you the wrong execution plan – Part 1
Select COUNT(*) and COUNT(column) are different things!
Scripts for showing execution plans via plain SQL and also in Oracle 9i
60000 bind variables?! Maybe it’s time to use a temporary table instead…
Why does even a small difference in SQL text cause a hard parse?
Advanced Oracle Troubleshooting Guide, Part 6: Understanding Oracle execution plans with os_explain
Generating lots of rows using connect by – safely!
Advanced Oracle Troubleshooting Guide, Part 5: Sampling V$ stuff with WaitProf. Really fast. Using SQL!
Excellent article on Oracle 11g PL/SQL function result cache
Can you write a working SQL statement without using any whitespace?
How to resolve SQL object and column names all the way to base tables and columns in Oracle?
My version of SQL string to table tokenizer