База данных, с которой я работаю, в настоящее время превышает 100 ГиБ и обещает значительно вырасти в течение следующего года или около того. Я пытаюсь разработать схему разделения, которая будет работать с моим набором данных, но до сих пор безуспешно. Моя проблема в том, что запросы к этой базе данных обычно проверяют значения нескольких столбцов в этой одной большой таблице, что приводит к получению наборов результатов, которые перекрываются непредсказуемым образом.
Все (администраторы баз данных, с которыми я работаю) предостерегают от таблиц определенного размера, и я исследовал и оценил решения, с которыми я столкнулся, но все они, похоже, полагаются на характеристики данных, которые позволяют логическое разделение таблиц. К сожалению, я не вижу способа добиться этого, учитывая структуру моих таблиц.
Вот структура двух наших основных таблиц, чтобы представить это в перспективе.
Table: Case
Columns:
Year
Type
Status
UniqueIdentifier
PrimaryKey
etc.
Table: Case_Participant
Columns:
Case.PrimaryKey
LastName
FirstName
SSN
DLN
OtherUniqueIdentifiers
Обратите внимание, что любой из вышеперечисленных столбцов можно использовать в качестве параметров запроса.