это ничего, что, например, у меня 20-30 столбцов в таблице USERS, из которых 100% у каждого юзера заняты 5-10, а остальные используются только у определенных типов юзеров?Не могу сказать, насколько это критично применимо конкретно к пользователям и конкретно в Вашем случае, но обычно это стандартная практика, точнее одна из двух подобных практик:
Может есть какие-нибудь дополнительные советы: как удалить дубликаты или большие файлы, которыми не пользуюсь, а только занимают места.С дубликатами - всё более ли менее понятно, думаю с ними проблему решить довольно легко будет. А по какому алгоритму Вы хоитите удалять "большие файлы" и как правильно понимать слово "большие"?
DB::table('messages')->where('user_id', 1)->orWhere('friend_id', 1)->where('user_id', 2)->orWhere('friend_id', 2);