For example, if I want a query that says "show me all houses within 50km from here and order them from nearest to furthest", these are the questions and concerns I have:
Assuming we are using EC2 (application server with GeoDjango) and RDS (database server with PostGIS), it seems that this query would execute on RDS. This is a problem, isn't it? Not only is RDS optimized for IOPS, but we only have one RDS instance serving all our EC2 instances. It would only be worth it if this distance query is only slightly more expensive than simply reading all the latitudes and longitudes.
Will GeoDjango or PostGIS be smart enough to run precise distance calculations only on houses that are within a reasonable distance, skipping all the houses that are too far away to matter? For example, it can calculate the maximum bounds possible with a given radius, and only compute distances for houses within those bounds.
Does there exist a less precise method to calculate distance in GeoDjango/PostGIS, so we can sacrifice accuracy for speed? If not, would it be significantly better to roll our own solution?