powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Связь многие ко многим. Способ организации.
9 сообщений из 9, страница 1 из 1
Связь многие ко многим. Способ организации.
    #38840123
murtukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, уважаемые знатоки.

Предположим:
есть сайт с базой фильмов и базой пользователей, которые могут ставить оценку каждому фильму.
Очевидно, что в БД придется создать таблицы user , film и user_film для организации связи многие ко многим .

Вот тут-то и возникает мой вопрос: не будет ли проблемой то, что промежуточная таблица (user_film) будет расти с "огромной скоростью"? Ведь, если представим, что в таблице user 10 000 пользователей, а в таблице film 10 000 фильмов и каждый пользователь поставит оценку каждому фильму, то промежуточная база user_film будет иметь 100 000 000 записей. А дальше - больше. Не будет ли это сказываться на производительности? И существуют ли альтернативные способы организовать связь многие ко многим .

Спасибо.
...
Рейтинг: 0 / 0
Связь многие ко многим. Способ организации.
    #38840146
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
murtukov,

На одном известном сайте о кино (можно даже сказать ведущем сайте) была такая акция "100 000 000-я оценка".
В реальном времени отслеживали, счетчик там был, циферки бежали, Apple iPad Mini разыграли и т. д.
Было это в конце 2013-го года. Сайт на тот момент уже существовал 10 лет.
Там к тому моменту 3 млн. пользователей было зарегистрировано.

Это так - информация для размышлений на тему "когда у тебя в базе будет 100 000 000 оценок"
...
Рейтинг: 0 / 0
Связь многие ко многим. Способ организации.
    #38840149
murtukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну вот допустим такой день настал. Что делают в таких ситуациях? Позволить таблице разрастаться дальше?
...
Рейтинг: 0 / 0
Связь многие ко многим. Способ организации.
    #38840152
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а почему нет? она весить сколько будет? метр-два?
...
Рейтинг: 0 / 0
Связь многие ко многим. Способ организации.
    #38840155
murtukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не знаю, почему нет, в том то и дело. У меня нет опыта в этом. Так, значит, дело в размере файла, а не в количестве записей?
Просто, я тут прикинул, что при каждой загрузке страницы с фильмом из таблицы user_film будет считываться большое количество записей. Если фильм оценило 1000 человек, то при каждой загрузке страницы с фильмом будет считываться 1000 записей. Это нормально?
...
Рейтинг: 0 / 0
Связь многие ко многим. Способ организации.
    #38840216
Все пучком
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
murtukovЯ не знаю, почему нет, в том то и дело. У меня нет опыта в этом. Так, значит, дело в размере файла, а не в количестве записей?
Просто, я тут прикинул, что при каждой загрузке страницы с фильмом из таблицы user_film будет считываться большое количество записей. Если фильм оценило 1000 человек, то при каждой загрузке страницы с фильмом будет считываться 1000 записей. Это нормально?


Оценку следует выдавать из таблицы user_film в суммарном виде, так как нормальный человек не
сможет переварить ваших тысячу оценок, а вот если скажем напротив филима будет указано что его круто заценило 700
человек, то тут уже проще ориетнироваться какую оценку этому филиму поставить
...
Рейтинг: 0 / 0
Связь многие ко многим. Способ организации.
    #38840277
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
murtukovВот тут-то и возникает мой вопрос: не будет ли проблемой то, что промежуточная таблица (user_film) будет расти с "огромной скоростью"?


Нет, не будет.


murtukov Ведь, если представим, что в таблице user 10 000 пользователей, а в таблице film 10 000 фильмов и каждый пользователь поставит оценку каждому фильму, то промежуточная база user_film будет иметь 100 000 000 записей. А дальше - больше. Не будет ли это сказываться на производительности?


Ключевым является то, что НЕ КАЖДЫЙ пользователь будет давать оценку, и НЕ КАЖДОМУ фильму.
Также ключевым является создание индексов. Индексы решают проблему производительности при доступе к таким большим наборам.


murtukovИ существуют ли альтернативные способы организовать связь многие ко многим .


Нет. Это наверное самый главный довод. Довод номер 0.
...
Рейтинг: 0 / 0
Связь многие ко многим. Способ организации.
    #38840279
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
murtukovНу вот допустим такой день настал. Что делают в таких ситуациях? Позволить таблице разрастаться дальше?

Ну, если уже совсем будет невмогогу -- просто удали пару миллионов старых оценок.
Я тебя уверяю, никто не заметит.
...
Рейтинг: 0 / 0
Связь многие ко многим. Способ организации.
    #38840282
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
murtukovЯ не знаю, почему нет, в том то и дело. У меня нет опыта в этом. Так, значит, дело в размере файла, а не в количестве записей?


Дело наоборот не в размере файла, а в количестве записей.

Размер файла будет влиять лишь на твою способность это приложение держать, т.е. будет оно работать или нет (влезет на диск или нет).

Кол-во записей влияет на то, как быстро это будет происходит.
Индексы дают логарифмическую сложность поиска от кол-ва записей.

murtukovПросто, я тут прикинул, что при каждой загрузке страницы с фильмом из таблицы user_film будет считываться большое количество записей. Если фильм оценило 1000 человек, то при каждой загрузке страницы с фильмом будет считываться 1000 записей. Это нормально?

Это не нормально. Но не по соображениям производительности.
Просто напросто 1000 оценок никому не нужны. даже 100 не нужны. Нужны 2-5 как максимум.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Связь многие ко многим. Способ организации.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]