 <p>I don't think performance will be much of a problem. Just save the data in a database, which will provide you with the easiest way for your structure. </p> <p>Even after the first letter of the main place is pressed, it already drastically reduces possibilities. </p> <p>Going from sub place --> main place, you could put the treshhold before showing the option list a bit higher. </p>