Задать вопрос
@LaJokero

MySQL — 100 млн записей, разбиение на 2 таблицы или 1?

Всем доброго времени суток.

Есть БД, есть данные которые различаются по типу (категория). Возникает вопрос - хранить данные в одной таблице или разбить эти данные на две таблицы по типу (категории). То есть в первом случае будет одна целая таблица, с 100 млн записей, либо две таблицы по 50 млн в каждой. Естественно, с индексами и в первом, и во втором случае. Что будет лучше с точки зрения оптимизации и скорости (учитывая, что на данном этапе memcache и redis нет)?
  • Вопрос задан
  • 521 просмотр
Подписаться 1 Средний Комментировать
Решение пользователя Александр Аксентьев К ответам на вопрос (2)
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
Добавляете в одну таблица индекс на своё поле категория и получаете таблицу разбитую на две виртуальные части, при запросах с категорией будет использоваться этот индекс, что и так само собой отсекает вторую половину таблицы.

Зачем разбивать одни данные на две таблицы-то? Почему не на 5 таблиц, чтобы еще один столбец раскидать на разные таблицы, так до бесконечности можно усложнять и будет какая-то каша.

Что будет лучше с точки зрения оптимизации и скорости

На выходе всё в итоге зависит от того что за данные, что с ними делаете, как читаете, как часто читаете/пишете и т.д.
т.е. всё индивидуально. При этом есть индексы и партиции которые решают все эти вопросы, особенно на таком малом объёме данных.

100кк записей это не так много.
Ответ написан