Задавайте вопросы, мы ответим
Вы не зашли.
Дорогие друзья!
Вот такой вопрос у меня возник.
Всем известны таблицы для связей типа [несколько]-[несколько].
Приведу пример таблички в которой хранится информация о доступе пользователей к пирожкам:
CREATE TABLE IF NOT EXISTS `access` (
`id` int(11) NOT NULL auto_increment,
`userId` int(11) NOT NULL,
`pattyId` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=777777 ;
То есть запись типа
1 | 15 | 7777778
говорит о том, что пользователь с Id 15 может получить доступ к пирожку с Id 7777778.
Ну так вот мой вопрос - следует ли делать userId и pattyId индексами? Очевидно, что выборка будет идти в основном по этим полям и во всех join будут юзаться userId и pattyId, но вот на лекциях нам говорили что не целесобразно делать все поля таблицы индексами. Очевидно это так для таблиц в общем случае, а вот для этой таблицы это так?
Очень надеюсь на супер компитентный и культурный ответ.
Неактивен
Для этой таблицы поле id лишнее, а индексы нужны
Неактивен
Да, к мысли что id лишнее я тоже пришёл.
Вопрос ещё такой: PRIMARY KEY от INDEX чем отличается?
Тем что он INDEX и UNIQ одновременно?
И можно ли таблицу сделать без PRIMARY KEY? не будет ли тормозить?
Или следует ли сделать составной PRIMARY из `userId` и `pattyId`?
Неактивен
Chesarri написал:
Вопрос ещё такой: PRIMARY KEY от INDEX чем отличается?
http://sqlinfo.ru/forum/viewtopic.php?id=3999
Chesarri написал:
Или следует ли сделать составной PRIMARY из `userId` и `pattyId`?
да
Неактивен
Благодарю за полный ответ
Неактивен