PDO: ¿Costo de la llamada prepare () en un bucle?

Estoy escribiendo una clase de base de datos para mi sitio web con funciones comofetchOne, fetchAll que prepara, ejecuta (+ enlaza) y recupera la consulta todo en uno para que no tenga que llamar individualmente a esas funciones cada vez. Algunos trabajos cron en mi sitio ejecutan miles o incluso millones de consultas dentro de un bucle.

¿Usaría mi clase hacer que la declaración se vuelva a preparar cada iteración del bucle o PDO "recordaría" que la consulta ya se ha preparado? ¿Esto afectaría significativamente el rendimiento y, de ser así, la solución sería simplemente proporcionar una función que pase la instancia de la base de datos y hacer algo como$db->getDb()->prepare($query); fuera del bucle? ¿O hay una mejor solución?

Función de ejemplo:

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);
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta