Вы хотите, чтобы длина ключа была достаточно широкой, чтобы большинство случаев были уникальными и не шире. Если у вас есть данные, посмотрите, сколько символов должно быть в ширине ключа, чтобы почти все города могли быть представлены в виде отдельных строк на выбранной ширине. Если у вас нет существующих данных, Google список городов для интересующей вас географии (например, США, весь мир) и использовать его в качестве руководства.
Например, если ширина вашей клавиши составляет всего 5 символов, такие города, как
Saint Louis
Saint Petersberg
в ключе будет обозначаться как «Святой», в результате чего ключ будет менее чем совершенным дискриминатором.
Если бы рассматривался целый набор городов, длина ключа 7 была бы идеальной. Ваши ключи будут
Saint L
Saint P
Вот справочная страница MySQL, которая охватывает это:
http://dev.mysql.com/doc/refman/5.6/en/create-index.html
Поиск текста CREATE INDEX part_of_name ON customer (name(10));
Для списка городов, если вы хотите просто рассмотреть самые густонаселенные города:
http://en.wikipedia.org/wiki/List_of_United_States_cities_by_population
Для полного списка:
http://geonames.usgs.gov/domestic/download_data.htm
(тематические газеты, населенные пункты)