Executar uma consulta sql com um tempo limite em PHP ou Como em PHP, para interromper uma consulta sql uma vez iniciada?
O PDO permite que você especifique o tempo limite da consulta
com o atributo "ATTR_TIMEOUT", embora seja totalmente dependente se o driver suporta ou não.