Автор Тема: Таблица-связка  (Прочитано 2614 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Таблица-связка
« : 18 Марта 2002, 02:56:44 »
Есть такая таблица-связка:

CREATE TABLE `table` (`1` SMALLINT(5) UNSIGNED NOT NULL, `2` SMALLINT(4) UNSIGNED NOT NULL, PRIMARY KEY (`1`, `2`));

Функция у нее только одна: она разрешает связь "многие-ко-многим". Оба поля содержат первичные ключи двух других таблиц.

Вопрос такой: есть ли смысл добавить в эту таблицу-связку поле
"`0` MEDIUMINT(7) UNSIGNED AUTO_INCREMENT", сделать его первичным ключем и включить в индекс все три поля? Может ли это ускорить работу или наоборот? Подразумевается большое количество селектов, использующих связанные таблицы.
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Таблица-связка
« Ответ #1 : 18 Марта 2002, 11:26:03 »
Цитировать
Может ли это ускорить работу или наоборот?


Все зависит от того, какие у тебя будут select-ы. В этой таблице у тебя оба поля проиндексированны (первичным ключом являются) и введение еще одного поля только ради того, что бы еще  и по нему проиндексировать это будет громоздко.
Другое дело, если тебе введение этого поля поможет упростить select-ы.
А насчет скорости и использования индексов, то используй
EXPLAIN SELECT для того, что бы посмотреть какие индексы используются и тестовый select-ы, что бы сравнить скорость выборки.
На Машине Тьюринга далеко не уедешь.

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Таблица-связка
« Ответ #2 : 18 Марта 2002, 12:01:55 »
Благодарю, это и хотел услышать.
Просто где-то уведел настоятельную рекомендацию делать ТАК ВСЕГДА и усомнился (в своем здоровье :) )
Литературный перевод с русского и английского на Perl. Дорого!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28