Второе решение, по-видимому, не учитывает будущие изменения функций сайта. Например, что если позднее вы захотите разрешить пользователям обмениваться изображениями или разрешить пулы изображений для нескольких пользователей с разными уровнями разрешений для файла? Если вы выбрали решение № 2, добавление этих функций приведет к появлению множества дублирующих записей. В общем, если у вас есть идентичная информация, большинство вещей, которые я прочитал, предлагают поместить ее в одну таблицу, а затем добавить таблицу связывания для гибкости. Выбор элементов, которые соответствуют user_id x в таблице ссылок, должен быть очень быстрым, даже с третьим столбцом для дополнительных разрешений на фильтрацию.
Кроме того, даже если у вас огромный поиск в одной таблице, добавление индексов в соответствующие столбцы значительно ускорит процесс поиска. Единственная ситуация, в которой я мог бы подумать, где # 2 может быть лучше, - это если вы заблокировали таблицы.
Хотя я не эксперт, поэтому мне хотелось бы услышать, что думают все остальные.