Вход на сайт
ID field
695 просмотров
Перейти к просмотру всей ветки
в ответ moose 09.11.17 09:48
Мой опыт говорит всегда использовать ID в таблицах. Исключение - таблицы для one-to-many или many-to-many отношений.
1. Для будущего. Добавить ID в начале - дешевео. Добавлять потом, когда надо будет где-то ссылку на запись делать - дорого.
2. "принцип однообразия" (least astonishment) - позовляет хотя бы частично автоматизировать операции с БД
3. разделение между техническим (ID) и логическим (водитель-машина-время) ключом. Логический меняется чаще.
4. ну и скорость / удобство. В MsSQL замена композитного ключа из 7! полей на ID (int) ускорило один сложный select примерно в 20 раз. Вместо 2 минут стал за 5-7 секунд отрабатывать. Писать join-ы тоже попроще становится, да.