SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 08.04.2011 11:49:51

Chesarri
Участник
Зарегистрирован: 08.04.2011
Сообщений: 4

Соединяющие таблицы

Дорогие друзья!

Вот такой вопрос у меня возник.
Всем известны таблицы для связей типа [несколько]-[несколько].

Приведу пример таблички в которой хранится информация о доступе пользователей к пирожкам:
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, но вот на лекциях нам говорили что не целесобразно делать все поля таблицы индексами. Очевидно это так для таблиц в общем случае, а вот для этой таблицы это так?

Очень надеюсь на супер компитентный и культурный ответ.

Неактивен

 

#2 08.04.2011 12:36:15

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Соединяющие таблицы

Для этой таблицы поле id лишнее, а индексы нужны

Неактивен

 

#3 08.04.2011 12:47:42

Chesarri
Участник
Зарегистрирован: 08.04.2011
Сообщений: 4

Re: Соединяющие таблицы

Да, к мысли что id лишнее я тоже пришёл.
Вопрос ещё такой: PRIMARY KEY от INDEX чем отличается?
Тем что он INDEX и UNIQ одновременно?
И можно ли таблицу сделать без PRIMARY KEY? не будет ли тормозить?
Или следует ли сделать составной PRIMARY из `userId` и `pattyId`?

Неактивен

 

#4 08.04.2011 12:51:41

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Соединяющие таблицы

Chesarri написал:

Вопрос ещё такой: PRIMARY KEY от INDEX чем отличается?

http://sqlinfo.ru/forum/viewtopic.php?id=3999

Chesarri написал:

Или следует ли сделать составной PRIMARY из `userId` и `pattyId`?

да

Неактивен

 

#5 08.04.2011 12:58:42

Chesarri
Участник
Зарегистрирован: 08.04.2011
Сообщений: 4

Re: Соединяющие таблицы

Благодарю за полный ответ

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson