WebSQL Local Database Population optimieren

Ich versuche, die Geschwindigkeit zu optimieren, mit der meine lokale Datenbank in einer Webanwendung gefüllt wird, die gerade entwickelt wird. Derzeit verwendet es PHP, um auf die Datenbank zuzugreifen, und fügt diese Daten dann mithilfe von Javascript in die lokale Datenbank ein.

Das Problem ist, dass alles, was mehr als ein paar Einträge sind, es verlangsamt und ich bin mir ziemlich sicher, dass es eine individuelle SQL-Abfrage für JEDE Zeile ausführt. Ich habe über Transaktionen nachgelesen (Commits und Rollbacks und was nicht) und es scheint eine Antwort zu sein, aber ich bin nicht ganz sicher, wie ich es implementieren soll oder wo.

Hier ist ein Beispiel einer der Funktionen, die eine bestimmte Tabelle laden.

<code>function ploadcostcodes()
{
$IPAddress = '';
$User = '';
$Password = '';
$Database = '';
$Company  = '';
$No='';
$Name='';
ploadSQLConnection($IPAddress,$User,$Password,$Database,$Company);
</code>

// Stellt eine Verbindung zur tatsächlichen Datenbank her, aus der die Informationen stammen.

<code>$Login = 'XXXXXXX';
$conn=mssql_connect($IPAddress,$Login,$Password);
 if (!$conn )
{
      die( print_r('Unable to connect to server', true));
}
 mssql_select_db($Database, $conn);

 $indent="        ";

$sql="SELECT Cost_Code_No as No, Description as Name, Unit_of_Measure FROM v_md_allowed_user_cost_codes WHERE Company_No = " . $Company . " and User_No = '" . $User . "'";

 $rs=mssql_query($sql);
 if (!$rs)
 {
   exit("No Data Found");
 }

 while ($row = mssql_fetch_array($rs))
 {
     $No = addslashes($row['No']);
     $Name = addslashes($row['Name']);
     $Name = str_replace("'",'`',$Name);
     $Unit = addslashes($row['Unit_of_Measure']);

  //THIS IS WHERE I SEE THE PROBLEM

     echo $indent."exeSQL(\"INSERT INTO Cost_Codes (Cost_Code_No,Name,Unit_of_Measure) VALUES('".$No."','".$Name."','".$Unit."')\",\"Loading Cost Codes...\"); \r\n";
 }
 mssql_free_result($rs);
 mssql_close($conn);
 return 0;
}
</code>

Ich weiß nicht, was die Transaktion braucht (oder ob das auch getan werden muss). Es gibt MSSQL, um auf die Daten zuzugreifen, SQLite, um sie einzufügen, und Javascript, das PHP-Code ausführt.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage