Оба ключа, которые вы описываете, по-видимому, используются в качестве суррогатных ключей. Суррогатное значение, означающее, что они не являются производными от входящих данных и, следовательно, не имеют к ним никакого отношения, кроме обеспечения уникальности.
Вам не нужны 2 ключа для обеспечения уникальности, поэтому ответ на ваш вопрос заключается в том, что вы можете выбросить один или другой из ключей. Размер таблицы здесь не имеет большого значения, так как uuid_v4 () обеспечит уникальность для значительно больших наборов данных, чем 10M строк.
Наличие 2 ключей для уникальности не просто ненужно, но и является узким местом. Оба значения должны быть созданы во время вставки, и оба должны быть проверены на уникальность. Удаление одного из них является явно лучшей практикой.