Optimización de la base de datos local de WebSQL

Estoy tratando de optimizar la velocidad que llena mi base de datos local en una aplicación web que se está desarrollando. Actualmente, usa PHP para acceder a la base de datos y luego inserta esos datos en la base de datos local utilizando Javascript.

El problema es que algo más que un par de entradas lo ralentiza y estoy bastante seguro de que se debe a que ejecuta una consulta SQL individual para CADA fila. He estado leyendo sobre transacciones (Commits y Rollbacks y qué no) y parece una respuesta, pero no estoy completamente seguro de cómo implementarla, ni siquiera de dónde.

Aquí hay una muestra de una de las funciones que carga una tabla en particular.

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

// Esto se conecta a la base de datos real de donde proviene la información.

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

No sé qué necesita la transacción (o incluso si eso es lo que hay que hacer). Hay MSSQL para acceder a los datos, SQLite para insertarlo y Javascript que ejecuta código PHP.

Respuestas a la pregunta(1)

Su respuesta a la pregunta