Ну надо попрофилировать код, можно xdebug'ом, а можно просто воткнуть $time_start = microtime(true); <кусок кода> $time_end = microtime(true) - $time_start;
и посмотреть сколько времени выполнялся каждый кусочек.
P.s. код жесть: WHERE id = ".$_POST['id']." — sql-инъекция