Производительность таблиц SQL - больше или меньше таблиц?

При создании системы уведомлений я столкнулся с вопросом. Сообщество, для которого создана система, довольно большое, и у меня есть 2 идеи для моих таблиц SQL:

  1. Сделать одну таблицу, которая включает в себя:

    таблица комментариев:

    id(AUTO_INCREMENT) | comment(text) | viewers_id(int) | date(datetime)
    

    В этом варианте комментарии хранятся с датой, и все пользователи, просмотревшие комментарий, делятся на ",". Например:

    1| Hi I'm a penguin|1,2,3,4|24.06.1879
    

    Система должна теперь использовать столбец viewers_id решить, должен ли он показывать уведомление или нет.

  2. сделать две таблицы как:

    таблица комментариев:

    id(AUTO_INCREMENT) | comment(text) | date(datetime)
    

    таблица зрителя:

    id(AUTO_INCREMENT) | comment_id | viewers_id(int)
    

    пример:

    5|I'm a rock|23.08.1778
    1|5|1,2,3,4
    

    В этом примере мы проверяем viewers_id снова.

Какие из них могут иметь лучшую производительность?

1 ответ

По моему мнению, вам не следует уделять слишком много внимания оптимизации ваших таблиц, поскольку в первую очередь гораздо полезнее оптимизировать ваше приложение.
Теперь к вашему вопросу:
Повысить производительность таблицы SQL можно двумя способами:
1. Нормализовать, как для каждой таблицы SQL, я бы порекомендовал вам ее нормализовать: Википедия - нормализация 2. Вы можете уменьшить параллелизм, что означает сокращение количества раз, когда данные не могут быть доступны, потому что они изменяются.
как для вашего примера: если бы мне пришлось выбрать один из них, я бы выбрал второй вариант.

Другие вопросы по тегам