Ok, då krympte problematiken något.
Om all data som behövs för att fatta beslut ligger i filnamnen tycker jag inte du ska använda någon databas. Att blanda in en databas innebär "dubbel bokföring". Filnamnen i sig ska stämma överens med datat i databasen. Vad händer om du tar bort en fil eller döper om den? Databasen kommer då ha fel data och programmet kommer bete sig felaktigt.
Sålänge det rör sig om ett övergripligt antal bilder, säg max 10000, tycker jag nog du klarar dig gott med att låta programmet springa runt och rota på disken. Att lägga bilderna på en SSD hjälper upp prestandan.
Vi är alla olika, men själv brukar jag scripta ihop enkla kommandoradsbaserade verktyg för sådana här saker. Jag vet inte vilket operativsystem du kör, men jag skulle tycka att bash är ett lämpligt språk för detta. Bash i sig är ett scriptspråk som vanligtvis medföljer GNU/Linuxinstallationer och MacOS X, men finns även för Windows. Till detta behövs hjälpprogram, exempelvis GNU binutils eller motsvarande.
Många med mig själv skulle dock hävda att bash inte lämpar sig för mer komplicerad programutveckling än vad som överskrider en handfull rader kod. Går det över styr kan python vara ett bra alternativ. Lite högre tröskel att ta sig över, men ett kraftigare verktyg och sannolikt mer portabelt.
För att ge exempel på hur du med en enda rad bash-kod kan ta fram alla bilder med förstoring 50 och visa med bildvisaren feh:
for picture in $(find . -name "*-50"); do feh "$picture" &; done
Eller motsvarande för alla med -P1- i namnet:
for picture in $(find . -name "*-P1-*"); do feh "$picture" &; done
Dessa två småexempel visar bara hur snabbt och enkelt man kan uttrycka sin vilja i bash-kod. Har du en kommandoterminal och bash kan du skriva in raden direkt i terminalen och få resultat direkt. Notera att ovanstående rader går igenom underkataloger också, tack vare kraften i verktyget find. Vill du använda en annan bildvisare än feh byter du ut till motsvarande kommando.