2016-11-30 2 views
0

У меня есть одна база данных, большинство таблиц связаны каким-то образом. Он состоит из более 500000 записей. Мне нужно реализовать живой поиск, но количество записей беспокоит меня.Отдельная отдельная база данных в активную и архивную

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

Старые записи больше не будут использоваться, это точно, но мне все равно нужно их хранить.

Любые идеи о том, как это можно реализовать в MySQL?

+0

Это, как правило, плохая идея в моем опыте; соответствующие индексы и критерии поиска должны сузить найденные записи таким образом, чтобы количество записей (за исключением крайних случаев) не должно было быть значительным фактором. Это может быть не плохой идеей, за исключением того, что «старые записи больше не будут использоваться» _ почти всегда оказывается ложным, когда _ «привязан к нему», но мне все равно нужно их поддерживать »; и затем вам придется искать два (или более) места. – Uueerdo

+0

@Uueerdo, _ "но мне все равно нужно их держать" означает средства в случае иска. Они не понадобятся ни для чего другого. –

ответ

1

500 000 записей действительно не очень много записей.

Перед тем, как начать принимать решительные меры (например, ограничение возможности пользователей легко просматривать все данные одновременно), вы должны рассмотреть основы для повышения производительности:

  • индексов для повышения производительности запросов стандартной.
  • Разбиение на разделы, чтобы ограничить части таблиц, к которым необходимо получить доступ.
  • Полное текстовое индексирование для улучшения match() запросов.
  • Оптимизация SQL-запросов.

В общем, их достаточно для баз данных, которые на порядки больше объема, с которым вы имеете дело.

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

+0

Я не уверен, что если сервер db может принять его, когда включен режим реального поиска, его вычислительная мощность весьма ограничена. –

Смежные вопросы