Как искать в MySQL в таблице 60G, содержащей 330M строк?

У меня есть таблица, которая составляет 60G и около 330M записей.

Я должен отобразить это в интерфейсном веб-приложении. В веб-приложении есть функция поиска, которая ищет строковый шаблон в каждой строке таблицы базы данных.

Проблема в том, что этот поиск занимает до 10 минут и останавливает процесс MySQL. Я искал решения, но не нашел подходящего.

  • База данных In-Memory: слишком большая база данных (до 200 ГБ — только 60 ГБ в данный момент)
  • Разделите таблицу на таблицу для каждого месяца и поместите их на 6 твердотельных накопителей (мне нужны данные за пол года), после чего можно выполнить параллельный поиск на 6 твердотельных накопителях.
  • уменьшить объем данных (?)

Изображение здесь: http://i.stack.imgur.com/Q2TyD.png

0

Решение

Если вы используете неявный курсор для поиска, выведите db. Вы можете подумать о том, чтобы закрыть его после, скажем, каждые 50 строк, а затем снова открыть его в строке, в которой вы остановили его.

0

Другие решения

Вы должны использовать шардинг базы данных Вот. Это в основном разделяет вашу большую базу данных на несколько небольших баз данных.
Вот быстрая ссылка для вас: — http://codefutures.com/database-sharding/

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector