Splunk Search

How would I be able to improve the following joined query?

brc55
Explorer

Learning about joins and sub searches. What's the following query executing and would there be a way to make it more efficient?

index=old_indexstats count values(d) as d by username | join type=inner username [search index=new_index | stats count by username ]

I believe it starts by searching and counting usernames in the new index however, am getting mixed up after that.

Labels (3)
0 Karma

richgalloway
SplunkTrust
SplunkTrust

The first step in the query is to count all events and list the unique values of field 'd' for all usernames in old_index.  The second step is to count all events for each username in new_index.  Finally, the two sets of results are merged based on common username values.  If there is no match, the count from new_index is retained.

Here's one alternative query that should be more efficient.

index=old_index
| stats count as old_count values(d) as d by username 
| append [search index=new_index | stats count as new_count by username ]
| stats values(*) as * by username
---
If this reply helps you, Karma would be appreciated.
Get Updates on the Splunk Community!

Your Guide to Splunk Digital Experience Monitoring

A flawless digital experience isn't just an advantage, it's key to customer loyalty and business success. But ...

Data Management Digest – November 2025

  Welcome to the inaugural edition of Data Management Digest! As your trusted partner in data innovation, the ...

Upcoming Webinar: Unmasking Insider Threats with Slunk Enterprise Security’s UEBA

Join us on Wed, Dec 10. at 10AM PST / 1PM EST for a live webinar and demo with Splunk experts! Discover how ...