I am designing an android app that will display points of interest (POIs) near you. The POIs will be stored in a database, which I would like to be able to efficiently search for the POIs near me and have the search return a sorted list of perhaps the 100 closest locations.
I am wondering how I should design my database so that it can be efficiently searched. Are there any specific forms of SQL that I should use, or any special algorithms to speed up the search? While it won't be a problem if I only have 100 locations in my database, I can imagine it might get difficult if I have 10,000 or more.