Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Der schnellste Weg, um 134675 Werte in eine entfernte Datenbank einzufügen

Sie könnten mysql_ping() in Ihre Schleife einfügen Funktion. Diese Funktion überprüft, ob die Verbindung offen ist, und wenn dies nicht der Fall ist, stellt sie die Verbindung wieder her.

Wenn Sie Ihr eigenes Beispiel verwenden, könnten Sie Folgendes tun:

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

Bearbeiten :Es sollte beachtet werden, dass sich PHP laut Dokumentation nach MySQL 5.0.14 nicht automatisch wieder verbindet. Wenn Sie eine neuere Version von MySQL verwenden, müssen Sie Ihre eigene Verbindungslogik einfügen, vielleicht so (ich habe es nicht getestet):

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.
}