I'm not sure why you would have four searches to get Country, Year, Month and Day to populate dropdowns. That's really only two fields, and how you break them up. I'm also not sure why that search would be particularly time consuming. If Country is an indexed field, and the relevant Date field is an indexed field, then you can have an initial search using tstats to create records with Country and Date, then use post-processing to split out the pieces
| tstats count as count0 WHERE index=foo BY Country span=1d
This should quickly give you a record for each Country for each Date there is data for that Country, assuming the event's _time contains the Date value in question. On the other hand, if the required Date is in an indexed field called whateverDate, you would do something like this.
| tstats count as count0 WHERE index=foo BY Country, whateverDate
... View more