What I am developing is a combination business directory/classifieds/groups website. I have the initial data of over 10 million businesses for the business directory. The content available to visitors will be determined by their zip code. There are two ways I can go. One is to use one database and a zip/distance calculator which would allow the visitor to limit their results to 'xxx' number of miles surrounding their selected zip code. This would be by far the best choice for usability, but presents a nightmare relating to the size of the search initially plus having to filter all results from the origional query using the zip/distance calculations. My second option is to split all the data up into 3,200+ databases, one for each county in the US. This option would only return results from the county that their selected zip code was in. Not as nice as option as the first, but results would be very fast. I was still hoping their was a hardware/software arrangement that could let me use the first option with the speed of the second.