sql >> Databasteknik >  >> RDS >> Mysql

Applikationskod Redesign för att reducera antal. av databasträffar från prestationsperspektiv

på din while-loop, bygg bara frågesträng och kör satsen utanför loopen. Så något sånt här borde fungera (osäker på syntax eftersom det var länge sedan jag har skrivit php men det borde fungera:

public function initiateInserts()
{
    //Open Large CSV File(min 100K rows) for parsing.
    $this->fin = fopen($file,'r') or die('Cannot open file');

    //Parsing Large CSV file to get data and initiate insertion into schema.
    $query = "";
    while (($data=fgetcsv($this->fin,5000,";"))!==FALSE)
    {
        $query = $query . "INSERT INTO dt_table (id, code, connectid, connectcode) 
                 VALUES (" . $data[0] . ", " . $data[1] . ", " . $data[2] . ", " . $data[3] . ")";
    }
     $stmt = $this->prepare($query);
     // Execute the statement
     $stmt->execute();
     $this->checkForErrors($stmt);
}


  1. Min sql-fråga för att få mittradens värden med GROUP BY-funktionen

  2. MySQL:GÅ MED två bord på LIKE

  3. Google Data Studio och AWS MySQL SSL-anslutning

  4. asynkronisera och vänta på MySQL-anrop i nod js