Страницы

Поиск по вопросам

пятница, 27 декабря 2019 г.

Надо ли объединять двойной ключ ради эффективности?

#mysql #инспекция_кода


Есть табличка, в которой primary key - это пара 32-битных ключей id1, id2.
Соответственно, все ссылки по foreign key на эту таблицу тоже идут по этой паре.

С точки зрения исходной модели у каждого ключа свой смысл, и хранить их парой конечно
же удобней с точки зрения читабельности.

Однако интересует - какова эффективность такого решения по сравнению с тем, чтобы
объединить эту пару в единый 64-х битный ключ.

Ключи эти всегда идут парой, поэтому так сделать можно.  

Вопрос: даст ли это хоть какую-то выгоду с точки зрения любого аспекта производительности,
или это будет тоже самое?
    


Ответы

Ответ 1



Похожий вопрос поднимался на англоязычном SO: https://stackoverflow.com/questions/1460465/composite-primary-key-performance-drawback-in-mysql Если вы используете InnoDB, то разницы в производительности PK (INT) и (INT, INT) практически нет. Если еще и сами поля происходят из бизнес-модели, то видимо лучше ничего не менять.

Комментариев нет:

Отправить комментарий