Это просто зависит от того, как часто вы хотите сравнивать изображение с БД.
Если вам нужно сделать это только один или два раза, перейдите к пиксельному сравнению.потому что для создания всех хеш-значений вам также необходимо прочитать все пиксели всех изображений один раз.
Если вам часто нужно это делать, используйте хэш-подход.Конечно, вам нужно сравнивать изображения с одинаковым хеш-значением попиксельно, но это намного меньше, чем у всех изображений.(Вы можете даже сохранить все хеш-значения в ОЗУ, если ваша БД не слишком большая)
Вам не нужно использовать md5.Вы могли бы даже пойти на гораздо более простые (и более быстрые для вычисления) хеш-функции.(Вам не нужны функции, необходимые для криптографических хеш-функций, таких как md5 (даже если md5 больше не является безопасным)).Вы просто хотите уменьшить количество изображений для сравнения пиксель за пикселем.