Mysql
 sql >> Database >  >> RDS >> Mysql

Il modo più veloce per inserire 134675 valori nel database remoto

Potresti includere nel tuo ciclo mysql_ping() funzione. Questa funzione verifica che la connessione sia aperta e, in caso contrario, si riconnette.

Usando il tuo esempio, potresti fare qualcosa come:

foreach($array as $value) {
    mysql_ping($dbconn);
    $sql="insert into collected values('".$value."')";
    $res=mysql_query($sql);
    //then some extra code.
}

Modifica :Va notato che secondo i documenti, dopo MySQL 5.0.14, PHP non si riconnette automaticamente. Se usi una versione più recente di MySQL dovrai inserire la tua logica di connessione, magari in questo modo (non ho testato):

function check_dbconn($connection) {
    if (!mysql_ping($connection)) {
        mysql_close($connection);
        $connection = mysql_connect('server', 'username', 'password');
        mysql_select_db('db',$connection);
    } 
    return $connection;
}

foreach($array as $value) {
    $dbconn = check_dbconn($dbconn);
    $sql="insert into collected values('".$value."')";
    $res=mysql_query($sql, $dbconn);
    //then some extra code.
}