Я думаю, что необходимо посмотреть на вид данных, которые Вы храните, прежде чем Вы примете то решение. Наличие таблицы адреса является большим, но только если вероятность нескольких человек, совместно использующих тот же адрес, высока. Если у каждого человека были различные адреса, сохранение тех данных в различной таблице просто представляет ненужные соединения.
я не вижу преимущества наличия городской таблицы, если города в себя не являются объектами, Вы заботитесь о в Вашем приложении. Или если Вы хотите ограничить количество городов, доступных Вашим пользователям.
Нижняя строка является решениями как это, должны взять само приложение в рассмотрение, прежде чем Вы начнете стрелять для эффективности. IMO.
Это те же времена, в которые команда Unix time
или другие типичные инструменты тестирования будут сообщать: