Используйте отдельную таблицу для комментариев.Он будет иметь 5 указанных вами столбцов.
Помещение объектов в JSON затрудняет их поиск, поиск, фильтрацию и т. Д. То же самое относится к массивам любого типа.Вы делаете и то и другое - помещаете массив объектов JSON в одну ячейку.
Узнайте о JOIN
для повторного соединения вещей, о которых я вам говорю, для разделения.
Чтобы попасть втриллионы, вам также понадобится «осколок».Но давайте не будем обсуждать это до тех пор, пока вы не наберете миллионы.
(Дополнительные советы)
У "крупных компаний" есть набор данных, который "отбрасывается" на сотни серверов.Comments
очень вероятно, будет в обычной таблице.JSON вряд ли будет использоваться;особенно не для поиска или сортировки.JSON хорош для разного круфта, который нужно сохранить, но не искать / сортировать.
Для вас действительно лучше
- спроектировать и реализовать что-то (даже если он включает JSON);
- Запущен в производство;
- Изучите проблемы, которые возникают;
- Через несколько месяцев измените дизайн - будьте готовы выбросить большую частьОригинальный дизайн.
- «Промыть и повторить».Слишком много препятствий, чтобы прыгнуть, чтобы добраться туда, куда попали крупные компании за десятилетие и десятки инженеров.
Я могу помочь вам сделать только одну итерацию за раз.
Likes ... Если вы держите счетчик, делайте это в «параллельной» таблице.Это снизит конкуренцию на главном столе.Если вы ведете список того, кому что понравилось, то это таблица сама по себе.
идентификаторы ... Не используйте AUTO_INCREMENT
на столе с очень хорошим ПК.Основной пример - таблица «многие: многие» - используйте совокупность двух идентификаторов.
Нормализуйте, но не чрезмерно нормализуйте.Это то, что вы начнете понимать в моем «шаге 3» выше.
Делайте не используйте схему схемы EAV (Entity-Attribute-Value). не хорошо масштабируется.
Подклассы часто становятся неуклюжими.В этой ссылке у них есть Photo / Article / Place "is" Entity.Photos
должна быть своей собственной таблицей с собственными столбцами, причудами, индексами и т. Д.
Не не использовать любое стороннее программное обеспечение.Хорошо, вы можете использовать его для первой итерации моих шагов выше.Но на шаге 4 выбросьте его полностью.К тому времени вы были вынуждены изучать детали MySQL (поскольку программное обеспечение не сможет полностью вам помешать узнать подробности).