pointer
Создатель
- Регистрация
- 24 Окт 2011
- Сообщения
- 14
- Реакции
- 1
- Автор темы
- #1
добрый день..
возник вопрос по поводу обновления прайс листов на сайте. Прайсы должны обновляться раз в сутки.
сейчас в таблице 568071 записей.
Структура:
обновление идет по supplier= поставщик : id в их базе;
обновляется очень долго.. запуская в консоли запрос работает почти час, а если запускать без проверки секунд 20 всего. Как можно ускорить работу скрипта при проверке существования
UPD:
Спасибо большое.. все заработало..
возник вопрос по поводу обновления прайс листов на сайте. Прайсы должны обновляться раз в сутки.
сейчас в таблице 568071 записей.
Структура:
Код:
Id, Sub_id, Class_id, user_id, Name, Desc, price, price_min, supplier;
Id PRIMARY
PHP:
<?php
function q($query, $ignore_errors = false)
{
global $LinkID;
if ($GLOBALS["ENABLE_BENCHMARK"]) starttimer("SQLQ0");
$res = mysql_query($query,$LinkID);
if ($GLOBALS["PRINT_QUERIES"]) print "<![CDATA[<pre><font color=red>$query</font> [<font color=blue>".mysql_affected_rows()."</font>]</pre><hr>]]>";
if (mysql_error())
{
//if (!$ignore_errors) { user_error(mysql_error()."\n<br><b>Query:</b> <pre>$query</pre>\n"); }
print mysql_error()."\n<br><b>Query:</b> <pre>$query</pre>\n";
return false;
}
else
{
if ($GLOBALS["ENABLE_BENCHMARK"])
{
$e = stoptimer("SQLQ0", "SQL", $query); // NOT LOGGED FOR QUERIES CAUSED ERROR
if ($GLOBALS["PRINT_QUERIES"]) { print "<font color=green>$e</font>"; }
}
return $res;
}
}
function value($query)
{
return @mysql_result(q($query),0,0);
}
@$file = fopen($TMP_FOLDER.'price.csv', 'r') or die('Ошибка');
flock($file, 1);
$i=1;
while(!feof($file)) {
$Mass = fgetcsv($file, 1024, ';');
$suplier='sklad1:'.$Mass[0];
$sql = value("SELECT COUNT(Name) FROM `Table` WHERE `supplier`='$suplier'");
if ($sql==0){
q("INSERT table ....");
}else{
q("UPDATE table ....");
}
}
?>
обновляется очень долго.. запуская в консоли запрос работает почти час, а если запускать без проверки секунд 20 всего. Как можно ускорить работу скрипта при проверке существования
UPD:
на поле supplier установлен индекс?
...
Спасибо большое.. все заработало..
Последнее редактирование модератором: