This might not be the answer you're looking for, but it sounds like you're dealing with a lot of data. Once you get to a certain point you need to consider all levels of optimization. You're bottleneck might be hardware and not necessarily the type of query you're running.
You may want to look at your hardware architecture. Disks are probably the most important factor. Array Strip Size, File System, File System Block Size.. etc.
You can read more here:
http://wiki.splunk.com/Community:HardwareTuningFactors
... View more