Обязательно нужно по папкам разнести. Тормозить будет адски, а еще механику дисков изнашивать читая огромные колличества файлов (говорят даже диски сыпались из-за такого). На личном опыте скажу в папке, в идеале, не должно быть больше 1000 файлов или папок (можно и больше, но это уже бъет по производительности).
Я обычно по счетчике расспределяю файлы.
Допустим, есть десять папок 0-9 (можно еще и латинские буквы вмешать — тогда и больше), в каждой есть еще по 10 таких же в них еще по 10. Допустим хочу сохранить миллион файлов (по 1000 файлов в папке). Нужно всего три уровня вложенности.
Конечно если предусматриваеться, что папки будут создаваться автоматически (вручную такое задолбетесь создавать).
Первые 1000 файлов (с первого по 1000 файл) будут лежать в папке 0/0/0
Вторые 1000 файлов (с 1000 по 2000 файл) будут лежать в папке 0/0/1
И т.д. Но лучше делать с запасом, например 6-8 уровней (например 0/0/0/0/0/0/0/0, и файлы нужно лить только в последние уровни во избежание путаницы, когда есть папки с именами 0-9, файли из которых разольет по уровням — не соберете).
И еще одно можно создавать папки и так: 000 — 999, не вкладывая папка в папку, как угодно но учтите еще длинну пути до поледнего вложенного файла, чтобы еще и она держалась в рамках допустимого (жалательно не превышать 256 символов — зависит еще и от файловой системы).