У нас есть набор данных из примерно 400 миллионов строк размером 200 ГБ. Ежедневно добавляется 200 тыс. Строк. В основном он служит архивом, индексируемым для полнотекстового поиска другим приложением.
Чтобы уменьшить объем базы данных, данные хранятся в обычном myIsam.
Мы рассматриваем таблицу с разделением по диапазонам для оптимизации процесса резервного копирования, но не можем придумать хороший способ обработки уникальных ключей. Нам абсолютно необходимы два из них. Один должен быть напрямую совместим с остальной схемой (например, custId), другой - чтобы быть совместимым с приложением полнотекстового поиска (например, seqId).
Насколько я понимаю, разделы не поддерживают более одного глобального уникального ключа. Нам пришлось бы объединить оба уникальных ключа (custId, seqId), что в нашем случае не сработает.
Я что-то пропустил?
Разделенная таблица MySQL не поддерживает ключи любойUNIQUE
. пока не «ключ раздела» является частью уникального ключа.
Не беспокойтесь об УНИКАЛЬНЫХ ключах, если вы не нужно получите «ошибку дублирования ключа». Покажите нам CREATE TABLE
, чтобы мы могли поговорить более конкретно.
Попытка использовать custID как PK и seqID как автоматически увеличивающийся KEY. Не идеально, но должно работать.