здравствуйте, у меня вопрос допустим есть таблица пользователей, где соответственно есть user (имя пользователя) , во время выборки новостей из бд, нужно так же выводить имя автора, так вот у меня вопрос, лучше и оптимизированней при каждом выводе новостей, выбирать имя пользователя из таблицы user (проверяя совпадения поля author_id у новости, с id пользователем) и выводить соответственно имя пользователя, или сразу же при добавлении новости создать поле author и в него вносить имя пользователя, и выбирать это имя в новости уже вместе со всем остальным?
Так же аналогичная ситуация для комментов, правильнее создать поле comments у новости и при каждом комментировании обновлять число на 1 и выводить его, или же выводить SELECT COUNT ID FROM COMMENTS (тоесть выбирать количество записей в таблице комментариев)
В случае с автором и новостью в большинстве случаев Вам просто нужно использовать JOIN и не хранить имя 2 раза. Повторное хранение имени приводит к денормализации данных (нормальная форма) что не очень правильно при использовании реляционных СУБД как MySQL. Денормализации данных иногда используется, но это сложная тема. Ознакомить можно тут или тут.
Случай с количество комментов же скорее оптимизация: если нет больной нагрузки и все работает нормально, то вариант с SELECT
вполне допустим, если скорость работы уже критична то вариант с полем comments
будет лучше.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как проверить инициализирован ли OpenGL, функцией glutInit(&argc, argv)?
В файле, в каждой строке записано по два целочисленные аргумента через пробел, требуется считать эти аргументы с каждой строки файла и записать...