#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) практически нет. Если еще и сами поля происходят из бизнес-модели, то видимо лучше ничего не менять.
Комментариев нет:
Отправить комментарий