С помощью простого сопоставления «многие ко многим» из двух столбцов я не вижу реального преимущества в использовании суррогатного ключа. Наличие первичного ключа на (col1,col2)
гарантированно уникально (при условии, что значения col1
и col2
в ссылочных таблицах уникальны), а отдельный индекс на (col2,col1)
будет отлавливать те случаи, когда противоположный порядок будет выполняться быстрее. Суррогат - пустая трата пространства.
Вам не понадобятся индексы для отдельных столбцов, поскольку таблицу следует использовать только для объединения двух ссылочных таблиц.
По моему мнению, этот комментарий, на который вы ссылаетесь в этом вопросе, не стоит тех электронов, которые он использует. Похоже, автор думает, что таблица хранится в массиве, а не в чрезвычайно высокопроизводительной сбалансированной многоходовой древовидной структуре.
Для начала, никогда не нужно хранить или получать в отсортированную таблицу , только индекс. И индекс не будет сохранен последовательно, он будет сохранен эффективным способом, чтобы его можно было быстро найти.
Кроме того, подавляющее большинство таблиц базы данных читаются далеко чаще, чем записываются. Это делает все, что вы делаете на выбранной стороне, гораздо более актуальным, чем что-либо на стороне вставки.