Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Przeprojektowanie kodu aplikacji w celu zmniejszenia liczby trafień bazy danych z perspektywy wydajności

w pętli while zbuduj tylko ciąg zapytania i wykonaj instrukcję poza pętlą. Więc coś takiego powinno działać (nie jestem pewien składni, ponieważ pisałem php od dawna, ale powinno działać:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zresetować autoinkrementację ID ? phpmyadmin

  2. MySql:ustaw zmienną z listą

  3. Sortowanie wyników zapytania mysql

  4. Porównywanie wartości Null z inną wartością w wyzwalaczu MySQL

  5. Klucz obcy MySQL używający więcej niż jednego pola do odwoływania się do klucza podstawowego z innej tabeli