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

Application Code Redesign for at reducere antal. af databasehits fra præstationsperspektiv

på din while-løkke skal du kun bygge forespørgselsstreng, og udføre sætningen uden for løkken. Så noget som dette burde virke (ikke sikker på syntaks, da det er længe siden, jeg har skrevet php, men det burde virke:

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. Indekseringsstrategi for forskellige kombinationer af WHERE-klausuler inkl. tekst mønstre

  2. Konvertering af fletteerklæring til MYSQL ved hjælp af en duplikatnøgle

  3. Microsoft Access Table Tips – Tricks og retningslinjer Del 2

  4. Sådan installeres flere PostgreSQL-servere på RedHat Linux