Skip to content
  • Oracle
  • About
  • Oracle
Search
Close

– nice theory…

– Good and not so good ideas on software development and Oracle databases in particular

Category: Optimization

Generating data: union all vs insert all

February 11, 2021December 21, 2022 NiceTheoryVidarLeave a comment

To test out different physical table lay-outs, I had to repeatedly generate some test-data. After a few runs, I wanted to speed it up a bit. This is how I did it.

Snail with rocket
Read More »

Reviewing statements with hints, using PL/Scope

December 10, 2018December 7, 2018 NiceTheoryVidarLeave a comment

In my previous post, I showed how you can add a fake hint to tag the origin of a duplicated statement and as a side-effect make it unique. What if you regret and can’t remember where it was. Or you want to review old hinted statements after an upgrade to a newer version of the database/optimizer.

Read More »

Differentiating between duplicated statements

December 7, 2018 NiceTheoryVidarLeave a comment

Finding duplicate SQL statements using PL/Scope is easy. If you cannot merge them, how can you differentiate between which source is being run?

Read More »

Find bad performing queries or code with PL/Scope

November 30, 2018December 4, 2018 NiceTheoryVidar5 Comments

On our production system we’ve enabled the collection of PL/Scope metadata. Since this is a SmartDB/PinkDB-application (business logic and queries in the database), this makes it really easy to find, inspect and modify the source code of queries that doesn’t run efficiently. Now it’s even easier using reports in Oracle SQL Developer.

Read More »

Finding bad queries in a package in a flash

September 12, 2018September 12, 2018 NiceTheoryVidar1 Comment

I was going through some of the Top SQL-reports in SQL Developer, running them against our production system.

One of the “culprits” that showed up was a procedure call, not a query. A quick investigation showed that this procedure was fairly large and consisted of quite a few queries.

Read More »

Function result cache and application context – don’t get burned

February 1, 2018February 1, 2018 NiceTheoryVidarLeave a comment

Oracles function result cache (FRC) can in certain cases give a considerable performance boost. Application context is another useful feature. How does FRC work when the function result relies on context-settings? And how can we make them play well together?

Read More »

Compression of Oracle database network traffic

January 11, 2018January 11, 2018 NiceTheoryVidarLeave a comment

I read this blog-post by Connor McDonald the other day about the Advanced Network Compression and network transfer savings. It reminded me of a feature not many know of and comes without an extra cost option. In fact, it’s on by default.

Read More »

As time goes by: When joins spill to disk

March 14, 2017March 14, 2017 NiceTheoryVidarLeave a comment

Large joins may use full scans and hash joins. If your tables are large enough, this will fill up your process working memory and start spilling to your temp-tablespace. At that time a few important effects come into play:

Read More »

Speeding up large data-transfers over a db-link

February 20, 2017February 21, 2017 NiceTheoryVidarLeave a comment

Lately I’ve been working a lot with large bulk-loads of data between Oracle databases. The loading is done over db-links and we needed to speed up some of the loads since parallel DML is not supported in distributed transactions.

Read More »

Categories

  • Oracle (29)
  • PL/SQL (11)
  • Optimization (9)
  • Coding practice (7)
  • PL/Scope (7)

Tags

  • Oracle (16)
  • PL/SQL (11)
  • SmartDB (9)
  • 12c (6)
  • PL/Scope (6)

Year

  • 2022 (2)
  • 2021 (1)
  • 2020 (1)
  • 2019 (3)
  • 2018 (13)
Blog at WordPress.com.
Back to top
  • Follow Following
    • - nice theory...
    • Already have a WordPress.com account? Log in now.
    • - nice theory...
    • Customize
    • Follow Following
    • Sign up
    • Log in
    • Report this content
    • View site in Reader
    • Manage subscriptions
    • Collapse this bar
 

Loading Comments...