Приведите пожалуйста код создания структуры таблицы pictures, тогда будет более предметный разговор. Сколько записей в таблице pictures?
Из общих рекомендаций:
1) `result`='WAITING' - поле должно быть проиндексировано, иначе запись ищется полным перебором всех записей;
2) условие DATE(`date`) точно правильно написано?
3) если ищете по дате, то поле `date` тоже должно быть проиндексировано;
4) лучше вместо отдельных индексов использовать составной индекс INDEX `result_date` (`result`, `date`);
5) проверьте свои запросы SELECT и UPDATE с помощью команды EXPLAIN, по ней можно будет посмотреть - где происходят тормоза;
6) у вас в этом коде PHP происходит до 11 обращений к БД; операция UPDATE наиболее медленная, вполне вероятно, что она и выполняется в течение нескольких секунд 10 раз; но если будет индекс, то проблем не должно быть;
7) если не поможет, то несколько запросов UPDATE можно заменить одним запросом с помощью функций обновления через условие;
8) кстати для поля `hash` также нужен индекс, раз по нему выполняется поиск;
9) ещё бы я рекомендовал ключ сделать числовым, т.е. `hash` заменить на поле `id` типа UNSIGNED INT AUTOINCREMENT и сделать его ключом PRIMARY KEY;
10) поле `result` тоже нужно сделать числовым и записывать в него, например число 0, если 'WAITING' и 1, если 'PROCESS'.
Уверен, что после выполнения рекомендаций все будет "летать".