How can I measure how far a query is from the threshold of acceptable (regarding performance) based on the number of reads reported after its execution?
Example: Just to make myself clear, if we were talking about miles-per-gallon of a car of which the gas mileage is 40 mpg and we must drive a distance of 40 miles, the threshold for the optimal performance is 1 gallon to travel that distance. Since not everyone drives like Max Verstappen or Lewis Hamilton, it's acceptable if you spend 1.3 or even 2 gallons to make that distance if you're a bad driver. But if you spend 30 gallons to get to a place that is 40 miles away, I can say you're certainly going the wrong way.
Background: sometimes I run sp_whoisactive just to find a query reporting something like 1,248,909 reads (since each page is 8 KB, that means around 9.7 GB of data has been processed from a database of 4.4 GB). That means one query read the equivalent to the whole database twice. When I see something like that, my gut tells me that something is wrong, but the developer sometimes argues that "it's a complex query and it was expected to behave like that". Then I have to improve the query to prove that even though a complex query can consume more resources, there's a threshold that shows you're off the track.
Is there a formula to calculate it based on the number of tables involved, types of joins, use of functions and so on? If not, is there a rule of thumb that could be used to make a logical argument?