Обойтись без двух уникальных ключей в многораздельной таблице

У нас есть набор данных из примерно 400 миллионов строк размером 200 ГБ. Ежедневно добавляется 200 тыс. Строк. В основном он служит архивом, индексируемым для полнотекстового поиска другим приложением.

Чтобы уменьшить объем базы данных, данные хранятся в обычном myIsam.

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

Насколько я понимаю, разделы не поддерживают более одного глобального уникального ключа. Нам пришлось бы объединить оба уникальных ключа (custId, seqId), что в нашем случае не сработает.

Я что-то пропустил?

Попытка использовать custID как PK и seqID как автоматически увеличивающийся KEY. Не идеально, но должно работать.

user3127882 01.05.2018 17:37

Разделенная таблица MySQL не поддерживает ключи любойUNIQUE. пока не «ключ раздела» является частью уникального ключа.

Rick James 04.05.2018 07:24

Не беспокойтесь об УНИКАЛЬНЫХ ключах, если вы не нужно получите «ошибку дублирования ключа». Покажите нам CREATE TABLE, чтобы мы могли поговорить более конкретно.

Rick James 04.05.2018 07:27
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
3
20
0

Другие вопросы по теме