Sign in

Tanel Poder

@tanelpoder.com
2K followers 468 following 334 posts

A long-time computer performance nerd. Creator of 0x.tools. Perf & troubleshooting blog: tanelpoder.com. All onions are mine!

PostsRepliesMedia
Tanel Poder @tanelpoder.com · 26/06/2026
This may be relevant: Are We Ready For An Agent-Native Memory System? arxiv.org/abs/2606.24775
arxiv.org
Are We Ready For An Agent-Native Memory System?
Memory for large language model (LLM) agents has rapidly evolved from simple retrieval-augmented mechanisms into a data management system that supports persistent information storage, retrieval, updat...
020
Reposted by Tanel Poder
Tanel Poder @tanelpoder.com · 18/06/2026
Releasing an eBPF Runtime Reporter and Profiler tool (brr). I've used it for profiling eBPF programs themselves. It unifies bpftop-like utilization/event frequency monitoring with perf_events based CPU sampling, with source code line mapping. github.com/tanelpoder/b...
1103
Tanel Poder @tanelpoder.com · 18/06/2026
Releasing an eBPF Runtime Reporter and Profiler tool (brr). I've used it for profiling eBPF programs themselves. It unifies bpftop-like utilization/event frequency monitoring with perf_events based CPU sampling, with source code line mapping. github.com/tanelpoder/b...
1103
Reposted by Tanel Poder
Gergely Orosz @gergely.pragmaticengineer.com · 01/06/2026
What I’m hearing: Instagram’s Trust and Safery org absolutely gutted the last few weeks. ~60% of the org gone - between layoffs and forced reassignments to data labelling. All while “AI maxxing” pushed a bunch of bugs to prod. And hence why today’s massive Instagram account takeover happening.
8450152
Reposted by Tanel Poder
Bill Mulligan 🐝🐝🐝 @breakawaybilly.bsky.social · 12/05/2026
P99 Conf from @scylladb.com is looking for talks on eBPF 🐝 I've seen quite a few impressive talks there from the likes of Liz Rice, Tanel Poder, and Jose Fernandez. CfP is open until May 29th, let me know if you need help
sessionize.com
P99 CONF 2026: Call for Speakers
Are you an engineer obsessed with P99 percentiles and high-performance, low-latency applications? Come share your most interesting approaches for solv...
023
Reposted by Tanel Poder
Tanel Poder @tanelpoder.com · 15/05/2026
Almost Summer Sale 2026: All my flagship video courses discounted until end of May! Plus *free* Exadata Internals & Advanced Performance Metrics seminar videos! tanelpoder.com/posts/almost...
021
Tanel Poder @tanelpoder.com · 15/05/2026
Almost Summer Sale 2026: All my flagship video courses discounted until end of May! Plus *free* Exadata Internals & Advanced Performance Metrics seminar videos! tanelpoder.com/posts/almost...
021
Reposted by Tanel Poder
SQLDaily @sqldaily.bsky.social · 13/05/2026
The LONG data type in Oracle Database is tricky to work with Sadly the partition high value column uses LONG 26ai eased this by adding CLOB and JSON versions of this But what if you're on older releases? @tanelpoder.com shows how to convert LONG to VARCHAR2 with PL/SQL
buff.ly
Get Oracle Partition High Values as VARCHAR2 types instead of LONG in Oracle 19c and earlier - Tanel Poder Blog
Here’s a little PL/SQL function create_partition_high_value_func.sql that allows you to write SQL queries against data dictionary for partition maintenance automation and examination operations, by…
021
Reposted by Tanel Poder
Tanel Poder @tanelpoder.com · 30/04/2026
A pretty recent summary article from Oracle on enabling and getting SQL monitoring reports in various ways (including historical captures): Real-Time SQL Monitoring: a MUST for SQL Tuning blogs.oracle.com/coretec/orac... (I'm working on something new & related too ;-)
172
Tanel Poder @tanelpoder.com · 30/04/2026
A pretty recent summary article from Oracle on enabling and getting SQL monitoring reports in various ways (including historical captures): Real-Time SQL Monitoring: a MUST for SQL Tuning blogs.oracle.com/coretec/orac... (I'm working on something new & related too ;-)
172
Reposted by Tanel Poder
greg (._.) @ggamel.bsky.social · 29/04/2026
🚨 periodic reminder for macOS computer havers: System Settings > General > Login Items & Extensions 1. Go through the entire list 2. Remove stuff + Toggle stuff off (or on) 3. Breathe a bit easier Tahoe: support.apple.com/guide/mac-he... Sequoia: support.apple.com/guide/mac-he...
011
Reposted by Tanel Poder
Tanel Poder @tanelpoder.com · 15/04/2026
I've been busy in the last months! Announcing a brand new "Practical Exadata Performance" training course! I'm not aware of any other training *like this* offered in the world. 😎 Also, a *free* seminar! Exadata is an awesome platform, if used right! learn.tanelpoder.com
054
Reposted by Tanel Poder
Connor McDonald on Database and SQL @connormcd.bsky.social · 15/04/2026
Fresh vid! The new SQL History feature in Oracle Database 26ai lets you track every single execution in your session. So why is it empty all of a sudden? youtu.be/XKN-SjrpzLc
youtu.be
Why has my SQL history gone MISSING?
YouTube video by SQL and Database explained!
121
Tanel Poder @tanelpoder.com · 15/04/2026
I've been busy in the last months! Announcing a brand new "Practical Exadata Performance" training course! I'm not aware of any other training *like this* offered in the world. 😎 Also, a *free* seminar! Exadata is an awesome platform, if used right! learn.tanelpoder.com
054
Reposted by Tanel Poder
Tanel Poder @tanelpoder.com · 13/04/2026
Was doing some Exadata performance work and this question came up: "Where does the Exadata storage() predicate come from?" I wrote about it a while ago 😎 tanelpoder.com/2014/03/05/w... The inmemory() predicate works using similar logic: access_predicate on INMEMORY full table scan.
001
Tanel Poder @tanelpoder.com · 13/04/2026
Was doing some Exadata performance work and this question came up: "Where does the Exadata storage() predicate come from?" I wrote about it a while ago 😎 tanelpoder.com/2014/03/05/w... The inmemory() predicate works using similar logic: access_predicate on INMEMORY full table scan.
001
Reposted by Tanel Poder
Tanel Poder @tanelpoder.com · 10/04/2026
Get Oracle Partition High Values as VARCHAR2 types instead of LONG in Oracle 19c and earlier (new blog). There's also some data 23/26ai data dictionary internals! tanelpoder.com/posts/oracle...
032
Reposted by Tanel Poder
Connor McDonald on Database and SQL @connormcd.bsky.social · 10/04/2026
Blog greatest hits :-) . The death of the demo script. connor-mcdonald.com/2016/03/23/the-…
021
Reposted by Tanel Poder
Dragan Stepanović @dstepanovic.bsky.social · 10/04/2026
Imagine your team doing agentic coding in the codebase serving mills of customers without understanding how it works, and you get paged at 2 am, and since no one knows how the system works you need to ask LLM to tell you, and it gives you, wait for it... a PLAUSIBLE answer what might be wrong.
153
Tanel Poder @tanelpoder.com · 10/04/2026
Get Oracle Partition High Values as VARCHAR2 types instead of LONG in Oracle 19c and earlier (new blog). There's also some data 23/26ai data dictionary internals! tanelpoder.com/posts/oracle...
032
Reposted by Tanel Poder
rmoff 🏃‍♂️🫖🥓 @rmoff.net · 01/04/2026
Jan Nidzwetzki - pg_plan_alternatives: Tracing PostgreSQL's Query Plan Alternatives using eBPF jnidzwetzki.github.io/2026/03/04/p...
031
Reposted by Tanel Poder
Phillip Carter @phillipcarter.dev · 31/03/2026
My observation is that AI has sped up development of mainline, never before seen features at the median shop by ~1.2x. Undifferentiated backlog items move much faster, so does any new product line with no customers or load bearing infrastructure yet. Bottleneck is verification and review
1103
Reposted by Tanel Poder
Tanel Poder @tanelpoder.com · 30/03/2026
Another old but interesting blog post (2008!) An Oracle database may have duplicate (non-unique) ROWIDs (and data object IDs) when using transportable tablespaces. That's not a bug, Oracle guarantees ROWID uniqueness only at table level, not at DB level. tanelpoder.com/2008/10/21/t...
031
Tanel Poder @tanelpoder.com · 30/03/2026
Another old but interesting blog post (2008!) An Oracle database may have duplicate (non-unique) ROWIDs (and data object IDs) when using transportable tablespaces. That's not a bug, Oracle guarantees ROWID uniqueness only at table level, not at DB level. tanelpoder.com/2008/10/21/t...
031
Reposted by Tanel Poder
Bryan Cantrill @bcantrill.bsky.social · 30/03/2026
Oxide and Friends is back, at a special time! @ahl.bsky.social and I will be joined by Oxide engineers Andrew Stone and Finch Foner to talk about how we build a quorum of trust in the distributed system that is the Oxide rack. Join us today at 2p Pacific/5p Eastern! discord.gg/QrcKGTTPrF?e...
discord.gg
Join the Oxide Computer Company & Friends Discord Server!
The Oxide Computer Company and friends; home of the Oxide and Friends podcast. | 4928 members
1374
Reposted by Tanel Poder
Tanel Poder @tanelpoder.com · 29/03/2026
Old but gold (2024): Oracle Hint Scopes and Join Level Cardinality Hint: tanelpoder.com/posts/oracle...
011
Tanel Poder @tanelpoder.com · 29/03/2026
Old but gold (2024): Oracle Hint Scopes and Join Level Cardinality Hint: tanelpoder.com/posts/oracle...
011
Reposted by Tanel Poder
Gergely Orosz @gergely.pragmaticengineer.com · 27/03/2026
If you use GitHub (especially if you pay for it!!) consider doing this *immediately* Settings -> Privacy -> Disallow GitHub to train their models on your code. GitHub opted *everyone* into training. No matter if you pay for the service (like I do). WTH github.com/settings/cop...
8820471488
Reposted by Tanel Poder
rmoff 🏃‍♂️🫖🥓 @rmoff.net · 26/03/2026
And just like that, it's time for March's Interesting Links in the Data and AI World! 👉🏻 rmoff.net/2026/03/25/i... With links from great folk including @gunnarmorling.dev, @tomcooper.dev, @sqlliz.bsky.social, @tanelpoder.com, @eatonphil.bsky.social, @larahogan.bsky.social, @almog.xyz, and more!
rmoff.net
Interesting links - March 2026
292
Reposted by Tanel Poder
Tanel Poder @tanelpoder.com · 24/03/2026
Old but gold! (2025) Find which Oracle SQL_ID hits the SQL*Net break/reset to client event: tanelpoder.com/posts/find-w...
001
Tanel Poder @tanelpoder.com · 24/03/2026
Old but gold! (2025) Find which Oracle SQL_ID hits the SQL*Net break/reset to client event: tanelpoder.com/posts/find-w...
001
Reposted by Tanel Poder
Tanel Poder @tanelpoder.com · 21/03/2026
The number of citations in my Google Scholar profile just reached a new order of magnitude! 100 citations! 😅 The most cited item is a patent from 2015 about *transparently* offloading parts of RDBMS SQL exec plans to distributed engines & hybrid cloud. scholar.google.com/citations?us...
041
Tanel Poder @tanelpoder.com · 21/03/2026
The number of citations in my Google Scholar profile just reached a new order of magnitude! 100 citations! 😅 The most cited item is a patent from 2015 about *transparently* offloading parts of RDBMS SQL exec plans to distributed engines & hybrid cloud. scholar.google.com/citations?us...
041
Tanel Poder @tanelpoder.com · 14/03/2026
Yep - cardinality - things like if you process 1M rows (and then fetch only top 10) vs. only going after the 10 rows you need, then the number of columns returned doesn't matter that much!
010
Tanel Poder @tanelpoder.com · 13/03/2026
... but learning the platforms & tools you *depend* on typically pays off over time :-)
110
Tanel Poder @tanelpoder.com · 13/03/2026
But just to get the entire list of column names of a table (or many tables in multiple schemas), there'd just be data dictionary metadata queries (all_tab_columns in Oracle). I understand how for a developer who's not deep into database stuff would just do a SELECT * instead of learning dictionary..
120
Tanel Poder @tanelpoder.com · 13/03/2026
I know people used SELECT * ... WHERE 1=0 (or WHERE False on some DBs) just to get the list of table/query result column names and then RErun the same query without that WHERE 1=0 clause to get data. But it's possible to run a query once and "describe the query output" to get column names in one go
110
Tanel Poder @tanelpoder.com · 13/03/2026
Yeah, I ended up getting deeper into the rabbit-hole myself (regarding cursor mem usage, etc) when writing that blog post!
010
Tanel Poder @tanelpoder.com · 13/03/2026
Yeah, I once proposed a database "strict mode" configuration parameter when talking to Oracle development folks, which would simply reject (with an ORA- error) or log a warning about any bad practices it sees in App-DB interaction (like directly comparing VARCHAR2 to a NUMBER bind var datatype etc).
021
Reposted by Tanel Poder
Tanel Poder @tanelpoder.com · 13/03/2026
Reasons why SELECT * is bad for SQL performance: An old blog (with Oracle-specific examples) with a whole range of reasons why. It's not only about network traffic and SQL plan execution, but client side processing and memory usage as well. tanelpoder.com/posts/reason...
4215
Tanel Poder @tanelpoder.com · 13/03/2026
Reasons why SELECT * is bad for SQL performance: An old blog (with Oracle-specific examples) with a whole range of reasons why. It's not only about network traffic and SQL plan execution, but client side processing and memory usage as well. tanelpoder.com/posts/reason...
4215
Tanel Poder @tanelpoder.com · 07/03/2026
Been there!
000
Tanel Poder @tanelpoder.com · 06/03/2026
Once I fix the shortcomings and fill the gaps one way or another, will write or youtube about it :-)
010
Tanel Poder @tanelpoder.com · 06/03/2026
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...
github.com
100
Tanel Poder @tanelpoder.com · 06/03/2026
... 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...
backendtales.blogspot.com
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...
100
Tanel Poder @tanelpoder.com · 06/03/2026
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...
100
Tanel Poder @tanelpoder.com · 06/03/2026
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).
100
Tanel Poder @tanelpoder.com · 06/03/2026
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? 😎
130
Tanel Poder @tanelpoder.com · 01/03/2026
Cool, thanks! :-)
000
Reposted by Tanel Poder
Tanel Poder @tanelpoder.com · 01/03/2026
New blog: Testing the Datadog Explain Plan Visualizer with Oracle execution plans tanelpoder.com/posts/testin...
1116