Easyphp et BD avec php
bitar
-
bitar -
bitar -
j'ai un probleme avec le BD quand j'ai ajouter dans la base des enregistrement grace au fichier php le temps ralenti quand il ya bcp des enregistements par exemplepour 1000 enregistement prend 5 sec mais apress le 10000 enregistement le mille enregisments (11000) prends 3 min alors mon question est ce que il ya une solution pour que easyphp ajoute les enregistrement plus vite. merci bcp
bitar
bitar
A voir également:
- Easyphp et BD avec php
- Easyphp - Télécharger - Divers Web & Internet
- Télécharger bd pdf gratuit sans inscription - Forum PDF
- Télécharger BD gratuitement ✓ - Forum Téléchargement
- W.i.t.c.h. bd intégrale pdf - Forum Liseuse eBook
- Scan bd - Forum Liseuse eBook
3 réponses
Ca m'étonne un peu comme temps de réponse pour MySQL (j'ai jamais vu ca même sur une vieille machine).
Tu peux nous donner la structure de ta table et ta requête SQL d'insertion (ainsi que le PHP qui va autour, histoire de comprendre un peu le contexte de la requête) ?
Tu peux nous donner la structure de ta table et ta requête SQL d'insertion (ainsi que le PHP qui va autour, histoire de comprendre un peu le contexte de la requête) ?
tout d'abord le php va lire une fichier txt et chaque ligne est un enregistrement dans le ligne chaque colonne est separer par une virgule
while(file_exists($file))
{
$tab=file($file);
foreach($tab AS $premier)
{
$pdt=explode(",",$premier);
$sql_data_array = array('products_quantity' => 0,
'products_model' => $pdt[7],
'products_SKU'=> $pdt[3],
'products_price' => (int)$pdt[9],
'products_benef' => $benef,
'products_date_available' => $products_date_available,
'products_weight' => $pdt[16],
'products_status' => 1,
'products_tax_class_id' => 0,
'manufacturers_id' => $manufacturers_id,
'products_to_rss' => 1);
$sql_data_array['products_image'] = tep_db_prepare_input("s_".$pdt[3].'.jpg');
$sql_data_array['products_mimage'] = tep_db_prepare_input("m_".$pdt[3].'.jpg');
$sql_data_array['products_bimage'] = tep_db_prepare_input("b_".$pdt[3].'.jpg');
if ($action == 'insert_product')
{
$insert_sql_data = array('products_date_added' => 'now()');
$sql_data_array = array_merge($sql_data_array, $insert_sql_data);
tep_db_perform(TABLE_PRODUCTS, $sql_data_array);
$products_id = tep_db_insert_id();
tep_db_query("insert into " . TABLE_PRODUCTS_TO_CATEGORIES . " (products_id, categories_id) values ('" . (int)$products_id . "', '" . (int)$categ_id . "')");
}
ca une partie de la php
while(file_exists($file))
{
$tab=file($file);
foreach($tab AS $premier)
{
$pdt=explode(",",$premier);
$sql_data_array = array('products_quantity' => 0,
'products_model' => $pdt[7],
'products_SKU'=> $pdt[3],
'products_price' => (int)$pdt[9],
'products_benef' => $benef,
'products_date_available' => $products_date_available,
'products_weight' => $pdt[16],
'products_status' => 1,
'products_tax_class_id' => 0,
'manufacturers_id' => $manufacturers_id,
'products_to_rss' => 1);
$sql_data_array['products_image'] = tep_db_prepare_input("s_".$pdt[3].'.jpg');
$sql_data_array['products_mimage'] = tep_db_prepare_input("m_".$pdt[3].'.jpg');
$sql_data_array['products_bimage'] = tep_db_prepare_input("b_".$pdt[3].'.jpg');
if ($action == 'insert_product')
{
$insert_sql_data = array('products_date_added' => 'now()');
$sql_data_array = array_merge($sql_data_array, $insert_sql_data);
tep_db_perform(TABLE_PRODUCTS, $sql_data_array);
$products_id = tep_db_insert_id();
tep_db_query("insert into " . TABLE_PRODUCTS_TO_CATEGORIES . " (products_id, categories_id) values ('" . (int)$products_id . "', '" . (int)$categ_id . "')");
}
ca une partie de la php
et les funcion sont
function tep_db_query($query, $link = 'db_link') {
global $$link, $logger;
if (defined('STORE_DB_TRANSACTIONS') && (STORE_DB_TRANSACTIONS == 'true')) {
if (!is_object($logger)) $logger = new logger;
$logger->write($query, 'QUERY');
}
$result = mysql_query($query, $$link) or tep_db_error($query, mysql_errno(), mysql_error());
if (defined('STORE_DB_TRANSACTIONS') && (STORE_DB_TRANSACTIONS == 'true')) {
if (mysql_error()) $logger->write(mysql_error(), 'ERROR');
}
return $result;
}
function tep_db_perform($table, $data, $action = 'insert', $parameters = '', $link = 'db_link') {
reset($data);
if ($action == 'insert') {
$query = 'insert into ' . $table . ' (';
while (list($columns, ) = each($data)) {
$query .= $columns . ', ';
}
$query = substr($query, 0, -2) . ') values (';
reset($data);
while (list(, $value) = each($data)) {
switch ((string)$value) {
case 'now()':
$query .= 'now(), ';
break;
case 'null':
$query .= 'null, ';
break;
default:
$query .= '\'' . tep_db_input($value) . '\', ';
break;
}
}
$query = substr($query, 0, -2) . ')';
} elseif ($action == 'update') {
$query = 'update ' . $table . ' set ';
while (list($columns, $value) = each($data)) {
switch ((string)$value) {
case 'now()':
$query .= $columns . ' = now(), ';
break;
case 'null':
$query .= $columns .= ' = null, ';
break;
default:
$query .= $columns . ' = \'' . tep_db_input($value) . '\', ';
break;
}
}
$query = substr($query, 0, -2) . ' where ' . $parameters;
}
return tep_db_query($query, $link);
}
function tep_db_query($query, $link = 'db_link') {
global $$link, $logger;
if (defined('STORE_DB_TRANSACTIONS') && (STORE_DB_TRANSACTIONS == 'true')) {
if (!is_object($logger)) $logger = new logger;
$logger->write($query, 'QUERY');
}
$result = mysql_query($query, $$link) or tep_db_error($query, mysql_errno(), mysql_error());
if (defined('STORE_DB_TRANSACTIONS') && (STORE_DB_TRANSACTIONS == 'true')) {
if (mysql_error()) $logger->write(mysql_error(), 'ERROR');
}
return $result;
}
function tep_db_perform($table, $data, $action = 'insert', $parameters = '', $link = 'db_link') {
reset($data);
if ($action == 'insert') {
$query = 'insert into ' . $table . ' (';
while (list($columns, ) = each($data)) {
$query .= $columns . ', ';
}
$query = substr($query, 0, -2) . ') values (';
reset($data);
while (list(, $value) = each($data)) {
switch ((string)$value) {
case 'now()':
$query .= 'now(), ';
break;
case 'null':
$query .= 'null, ';
break;
default:
$query .= '\'' . tep_db_input($value) . '\', ';
break;
}
}
$query = substr($query, 0, -2) . ')';
} elseif ($action == 'update') {
$query = 'update ' . $table . ' set ';
while (list($columns, $value) = each($data)) {
switch ((string)$value) {
case 'now()':
$query .= $columns . ' = now(), ';
break;
case 'null':
$query .= $columns .= ' = null, ';
break;
default:
$query .= $columns . ' = \'' . tep_db_input($value) . '\', ';
break;
}
}
$query = substr($query, 0, -2) . ' where ' . $parameters;
}
return tep_db_query($query, $link);
}