PHP MySQL: JOIN против FIND_IN_SET - PullRequest
0 голосов
/ 06 марта 2011

У меня есть отношение многие ко многим, и мне нужно решить, создать ли для него другую таблицу - или сохранить отношение в таблице со строкой (CSV) ... другими словами:

Пример: tbl_Team tbl_Fan

(необязательно): tbl_fanTeam Я хочу иметь возможность выбрать всех фанатов команды или выбрать отдельного фаната и увидеть все команды, фанатами которых они являются.

Какой метод лучше всего подходит для моего вызова SQL: использовать JOIN с 3-й реляционной таблицей (tbl_fanteam) или поместить все значения в одну из существующих двух таблиц? Надеюсь, что это имеет смысл ...

1 Ответ

3 голосов
/ 06 марта 2011

Когда вы используете JOIN ... ON a.x = b.y, база данных может использовать индексы для ускорения запроса.

Когда вы используете FIND_IN_SET, индексы не могут использоваться, поэтому потребуется полное сканирование.Это будет медленно, если в ваших таблицах много строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...