У меня есть сайт, где люди могут добавлять свои любимые сериалы.Есть одна особенность, которая позволяет отмечать эпизоды, которые вы видели.
Каждый отмеченный эпизод создает одну запись в таблице БД (с user_id, show_id и episode_id).
ThisТаблица теперь содержит более 600 000 строк и растет очень быстро!
У меня настроены индексы, но я чувствую, что производительность при запросах к этой таблице становится все хуже и хуже.
Мои мысли оновое решение:
Таким образом, вместо:
user_id | show_id | episode_id
1 ....... 123 ......7675
1 ....... 123 ......7676
1 ....... 123 ......7677
1 ....... 456 ......5678
1 ....... 456 ......5679
1 ....... 456 ......5680
я мог бы сделать это:
user_id | show_id | episode_ids
1 ....... 123 ......7675,7676,7677
1 ....... 456 ......5678,5679,5680
Тогда мне придется разбить строку на массив и использовать array.include? (Some-id) .
Это должно облегчить работу базы данных, но для Ruby будет гораздо более тяжелый код массива.
Я на правильном пути?Или кто-нибудь может придумать лучшее решение?