Как построить логику работы сортировки в галерее изображений?
Всем доброго дня/вечера/утра!
Пишу функционал галереи на PHP, и в процессе планирования архитектуры возник вопрос реализации сортировки изображений: хотелось бы заиметь режимы "сначала новые", "сначала старые", "сортировка по алфавиту", "сортировка по алфавиту инвертированная", ну и, до кучи, "сортировка по размеру файлов" в обе стороны. Пока единственная мысль, которая пришла в голову - при загрузке фото, писать в БД имя изображения, попутно присваивая каждому нужные параметры - дату загрузки, размер, пути к thumb'ам и т.п. инфу, а на фронте выводить их, формируя запросы к БД, с нужной выборкой. Вроде как переложить сортировку на плечи БД кажется правильнее: встречал в литературе совет - перекладывать сортировку на сервер баз данных при возможности, но я нуб, поэтому реквестирую помощь гуру - какие существуют best practies в реализации данной задачи, наставьте, пожалуйста, на путь истинный?
Предлагаю не сортировать по какому-либо параметру, а хранить загружаемые картинки в виде массива в бд, добавляя новые в конец или в начало. Выводить в порядке, в котором они лежат в массиве, то есть в котором были загружены. Это даст возможность ручной пересортировки картинок после загрузки.
Кстати, насчёт ручной сортировки - я правильно понимаю, что для её реализации достаточно в админской части прикрутить какой-нибудь драг-н-дроп, с функцией записи выставленного порядкового номера в базу данных, с последующей сортировкой по этим номерам?