Tanel Poder's Avatar

Tanel Poder

@tanelpoder.com

Creator of https://0x.tools, also a long-time computer performance geek. Perf & troubleshooting blog: tanelpoder.com. All onions are mine.

1,828
Followers
468
Following
316
Posts
24.11.2023
Joined
Posts Following

Latest posts by Tanel Poder @tanelpoder.com

Been there!

07.03.2026 03:44 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Once I fix the shortcomings and fill the gaps one way or another, will write or youtube about it :-)

06.03.2026 06:43 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I first used "ash_index_helper.sql" that queried v$ash and v$sql_plan, etc, but since modern 19.x something databases store access_predicates/filter_predicates in AWR too, I cloned it to "dash_index_helper.sql" so you can go back in AWR:

github.com/tanelpoder/t...

06.03.2026 06:43 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Santa's little (index) helper Santa's little (index) helperΒ  Getting a little unexpected help is always nice.Β  This was the case for me when I was tas...

... but now it looks like I'll just feed the relevant info into a language model instead. Let's see how it goes!

Nevertheless, people have found this tool already useful in the past!

backendtales.blogspot.com/2023/02/sant...

06.03.2026 06:43 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

But it became clear that more than just a single SQL query is needed, for example you wouldn't see a filter predicate on a table if CBO ended up doing a full scan and just throwing rows away much higher up in some hash join. I was going to write a Python tool or something...

06.03.2026 06:43 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

The idea was to start with only the access paths that consume the most response time or resources and then see how frequently the queries are actually executed *and* show cardinality estimates/filter factors ("needle in the haystack?") and propose *better* indexes (not more).

06.03.2026 06:43 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image Post image

I wrote an Oracle "ash_index_helper.sql" script 5 yrs ago, trying to pull all relevant info of top time-consuming *access paths* into one place, as a single SQL script.

Summarize access paths to a schema or just one table/SQL.

Too complex for a single script, time for AI? 😎

06.03.2026 06:43 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Cool, thanks! :-)

01.03.2026 23:43 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

New blog: Testing the Datadog Explain Plan Visualizer with Oracle execution plans

tanelpoder.com/posts/testin...

01.03.2026 05:22 πŸ‘ 10 πŸ” 6 πŸ’¬ 1 πŸ“Œ 0
Post image

New blog: Testing the Datadog Explain Plan Visualizer with Oracle execution plans

tanelpoder.com/posts/testin...

01.03.2026 05:22 πŸ‘ 10 πŸ” 6 πŸ’¬ 1 πŸ“Œ 0
Post image

Discovered an awesome article (and the entire site) via HN.

Example: "How is data stored?"

www.makingsoftware.com/chapters/how...

16.02.2026 03:46 πŸ‘ 10 πŸ” 2 πŸ’¬ 0 πŸ“Œ 1
Preview
Oxide plans new rack attack with Zen 5 CPUs, DDR5 : Oxide says AMD’s Turin EPYCs are coming, switch revamp under review, more open hardware in the works

Over two decades ago, the only reporter to really dig into what we had done with DTrace was @ashleevance.bsky.social at @theregister.com -- so it is unsurprising that the best reportage on @oxide.computer is from El Reg's @tobiasmann.bsky.social
www.theregister.com/2026/02/13/w...

14.02.2026 05:35 πŸ‘ 76 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0
Post image

Vinicius Grippa has created a cool implementation of SQL Flamegraphs for MySQL: MyFlames.

GitHub repo here, look into demos/mysql-*.svg files for more examples:

github.com/vgrippa/myfl...

02.02.2026 17:47 πŸ‘ 5 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Post image

Vinicius Grippa has created a cool implementation of SQL Flamegraphs for MySQL: MyFlames.

GitHub repo here, look into demos/mysql-*.svg files for more examples:

github.com/vgrippa/myfl...

02.02.2026 17:47 πŸ‘ 5 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Post image

A free SQL explain plan visualizer tool by @datadoghq

Currently for PostgreSQL, MySQL, MSSQL and MongoDB

explain.datadoghq.com

28.01.2026 23:18 πŸ‘ 14 πŸ” 8 πŸ’¬ 1 πŸ“Œ 2
Post image

If you clone the same (cat) photo into 360 versions, each rotated by one more degree, then put all these versions through a ViT embedding model, should the resulting cat-vectors look at least somewhat similar?

I used a heatmap to answer this question!

tanelpoder.com/catvector/

28.01.2026 23:56 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
New scripts: vstat.sql & dstat.sql for showing Oracle Sysmetric history with 1-minute granularity - Tanel Poder Blog Here are two scripts for showing GV$SYSMETRIC_HISTORY contents in a simple tabular way: vstat.sql - show up to one hour of current history at 1-minute granularity from memory awr/dstat.sql - show…

The view GV$SYSMETRIC_HISTORY in Oracle AI Database shows all the database metrics available

This can be useful to help troubleshoot performance issues

@tanelpoder.com has built scripts to display these with 1-minute granularity in a tabular way

28.01.2026 12:01 πŸ‘ 1 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Post image

Back in the the day we did something similar (for Oracle execution plans), called PlanViz:

tanelpoder.com/posts/sql-pl...

28.01.2026 23:22 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

A free SQL explain plan visualizer tool by @datadoghq

Currently for PostgreSQL, MySQL, MSSQL and MongoDB

explain.datadoghq.com

28.01.2026 23:18 πŸ‘ 14 πŸ” 8 πŸ’¬ 1 πŸ“Œ 2
Preview
Modern SQL: A lot has changed since SQL-92 SQL has evolved. Beyond the relational model. Discover it now.

modern-sql.com now covers DuckDB.

28.11.2025 13:24 πŸ‘ 46 πŸ” 15 πŸ’¬ 2 πŸ“Œ 0
Preview
Oxide and Friends | Grown-up ZFS Data Corruption Bug Hey hey! We recently tripped over a ZFS data corruption bug–introduced over 18 years ago! Bryan and Adam discuss with members of the Oxide team as well as Matt Ahrens, the co-inventor of ZFS.In add...

Happy Thanksgiving! Need a pod while washing dishes? New Oxide and Friends examines a bug introduced over 18 years ago. Performance is great but notβ€”it turns outβ€”without correctness oxide-and-friends.transistor.fm/episodes/gro...

27.11.2025 21:43 πŸ‘ 35 πŸ” 7 πŸ’¬ 0 πŸ“Œ 0
Post image

(3 days left until the end of Black Friday Sale of my online training courses!)

Also, an old post for Oracle nerds:

"Oracle Shared Pool Internals: List Chunk Position in the LRU List"

tanelpoder.com/posts/oracle...

28.11.2025 19:14 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
xb.sql and xbi.sql - Explain Oracle Execution Plans Better! (Part 3 - Cardinality Misestimates) - Tanel Poder Consulting Here’s part 3 of my xb.sql & xbi.sql article series that I started writing back in 2019 :-) Part 1 - Show and format execution plans by querying V$SQL_PLAN data directly Part 2 - Show plan line level…

When tuning #SQL, focus on the estimates for how many rows each operation will return

If these are off by an order of magnitude or more, there's a good chance a different plan is faster

@tanelpoder.com has built scripts to show misestimates in Oracle plans

26.11.2025 12:01 πŸ‘ 4 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

One week left till the end of the Black Friday sale of my self-paced video learning courses! πŸ€“

24.11.2025 03:48 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Product Engineer / Oxide

cool job at a very special computer company

- write TypeScript and Rust
- everyone makes $235k
- fully remote
- everything is open source

19.11.2025 18:33 πŸ‘ 155 πŸ” 35 πŸ’¬ 12 πŸ“Œ 7

How was the holiday? πŸ˜€

17.11.2025 05:56 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Neki - Sign Up Join Neki and stay updated with our latest news and updates.

Biggest takeaway from KubeCon: People want Neki badly.

We're building the solution for scaling and managing huge Postgres databases.

More to come, but in the meantime: neki.dev

14.11.2025 17:40 πŸ‘ 3 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Post image

Turns out you can communicate across containers via 63-bits of available space in a shared lock you acquire on /proc/self/ns/time that all processes have access to.

No networking required. The post has a demo of a chat app communicating across unprivileged containers.

h4x0r.org/funreliable/

12.11.2025 14:35 πŸ‘ 218 πŸ” 54 πŸ’¬ 2 πŸ“Œ 10
Post image

Added a blog update about the V$PROCESS_MEMORY_DETAIL auto-population for processes with PGA growth to over 500MB. Enabled in Oracle 19.18+, so no "oradebug dump pga_get_detail" needed, just query the V$ views for a detailed "heapdump":

tanelpoder.com/2014/03/26/o...

10.11.2025 06:29 πŸ‘ 9 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Post image

New scripts: vstat.sql & dstat.sql for showing Oracle Sysmetric history with 1-minute granularity (both from AWR and regular V$ views)

tanelpoder.com/posts/oracle...

10.11.2025 05:51 πŸ‘ 6 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0