winser, сам механизм дополнительных задержек не даст, а вот внутри функции может быть просадка производительности по каким-то причинам
конструкция интересная не знал про такое
называется рекурсия
советую освоить дебагер, код можно запустить в режиме отладки и выполнять по шагам, так можно найти "узкое место" и понять в каком порядке и с какими данными что-то выполняется
winser, return myQuery может вернуть myQuery который может вернуть myQuery который вернет done, таким образом done венется в предыдущую myQuery и это будет ответ для предыдущего myQuery, который вернет done изначальному myQuery и в итоге вернется done.
delete from order_clients
where (client_id, order_id, linked_at) not in (
select client_id, order_id, max_linked_at
from (
select client_id, order_id, max(linked_at) as max_linked_at
from order_clients
group by client_id, order_id
) 'g'
limit 10
)