Извлечение ZIP из базы данных - как оптимизировать его с помощью индексов - PullRequest
1 голос
/ 24 апреля 2011

Я получил следующую базу данных:
http://sourceforge.net/projects/zips/

Я хотел бы оптимизировать ее.В основном, когда пользователь вводит почтовый индекс, я хочу получить Long и Lat.

Я использую Spring> Hibernate> MySQL setup.

Вопрос в том, как настроить MySQL и Hibernate для ускорения поиска.Я не очень знаком с индексами, поэтому небольшое объяснение было бы также очень полезно.

В идеале, если бы я мог создать оптимизированную (сжатую) конструкцию базы данных вместо таблицы MySQL, это было бы идеально, поскольку это будет использоваться только для чтения.

1 Ответ

1 голос
/ 24 апреля 2011

Я бы сначала запустил объяснение SQL в запросе и увидел стоимость SQL.После этого вы хотите увидеть, как база данных сопоставляется со строками.Было ли выполнено полное сканирование таблицы или сопоставление индекса (и существуют различия в сопоставлении индекса)?Вы хотите всегда избегать полного сканирования таблиц, если только у вас нет нескольких сотен строк в таблице.В этом случае база данных может решить выполнить полное сканирование таблицы.

Получив эту информацию, вы сможете определить, какой индекс вам нужен для вашей таблицы.Затем, в течение некоторого времени, по мере того, как в таблице растет количество данных, вы хотите снова запустить сканирование таблицы, чтобы убедиться, что индексы все еще хороши.

Вот хороший учебник , который поможет вамначалось.

Надеюсь, это поможет!

...