Быстрое решение для 3-кратного сокращения пространства (и, возможно, ускорения) состоит в том, чтобы сжать content
и поместить его в MEDIUMBLOB
. Делайте сжатие на клиенте, а не на сервере; это экономит полосу пропускания и позволяет распределять вычисления среди множества клиентских серверов, которые у вас есть (или будут).
«Sharding» разделяет данные между несколькими серверами. Смотрите MariaDB и Spider. Это позволяет увеличить размер и, возможно, увеличить производительность. Если вы в конечном итоге осколок, forum_id может быть лучшим. Но это предполагает, что ни один форум не слишком велик для размещения на одном сервере.
«Разделение» разделяет данные, но только на одном сервере; не похоже, что в вашем случае есть какое-либо преимущество. Разделение по forum_id не обеспечит никакой производительности.
Удалить FOREIGN KEYs
; вместо этого отладьте ваше приложение.