title: How to sort a large list of (possibly partial) addresses by distance from lat/lon
body: <p>I have a database with 10,000+ addresses that I want to sort by distance from a single lat/lon.</p>
  
  <p>The addresses are sometimes full street addresses, and other times just zipcode, and sometimes city/state.</p>
  
  <p>I don't know if the google geolocation api will work do to the large number of addresses, but if this does work, please let me know.</p>
  
  <p>Another possibility would be to fetch the lat/lon for each address before I add it to the database, and can use the SQL Geography data type.  This would allow sorting by distance (I think).  Are there are free services that allow fetching lat/lon for addresses and allow storing that information in a database? I know googles terms of service disallow this use (storing of information retrieved from its services).</p>
  
  <p>Are there any other ideas to be able to sort this list?</p>