PDO: Custo da chamada prepare () em um loop?

Estou escrevendo uma classe de banco de dados para o meu site com funções comofetchOne, fetchAll que prepara, executa (+ bind) e busca a consulta em um só, para que eu não precise chamar essas funções individualmente todas as vezes. Alguns trabalhos cron no meu site executam milhares ou até milhões de consultas dentro de um loo

Usar minha classe faria com que a instrução fosse re-preparada a cada iteração do loop ou o DOP "lembraria" que a consulta já foi preparada? Isso afetaria significativamente o desempenho e, em caso afirmativo, a solução seria fornecer apenas uma função que passe na instância do banco de dados e faça algo como$db->getDb()->prepare($query); fora do loop? Ou há uma solução melhor

Exemplo de função:

public function fetchOne($query, $params = array(), $fetchMode = PDO::FETCH_ASSOC)
{
    $stmt = self::prepareExecute($query, $params);

    $result = $stmt->fetch($fetchMode);
    if (count($result) < 1)
        $result = FALSE;

    $stmt->closeCursor();
    unset($stmt);
    return($result);
}

questionAnswers(2)

yourAnswerToTheQuestion