Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Замедление работы INSERT (BulbaBoy) 06/02/2003 - 01:51:35
      Re: Замедление работы INSERT (vi.k) 06/02/2003 - 15:46:51
      Re: Замедление работы INSERT (Dinky) 06/02/2003 - 18:00:19
      Re: Замедление работы INSERT (vi.k) 06/02/2003 - 18:23:58
      Re: Замедление работы INSERT (BulbaBoy) 07/02/2003 - 12:07:46
      Re: Замедление работы INSERT (BulbaBoy) 07/02/2003 - 12:20:39
      Re: Замедление работы INSERT (Dinky) 07/02/2003 - 19:38:18
      Re: Простите за глупость.. (Marat_L) 10/02/2003 - 11:43:10
      Re: Простите за глупость.. (Dinky) 10/02/2003 - 17:46:58
      Re: замедление INSERT (BulbaBoy) 12/02/2003 - 21:10:53
      Re: замедление INSERT (Dinky) 14/02/2003 - 18:34:13

> Original message text:
> From: BulbaBoy - 06/02/2003 - 01:51:35
> Subject:Замедление работы INSERT
> -----------------
> Буду благодарен всем кто пояснит
> причины замедления скорости выполнения
> SQL-запосов при увеличении числа записей -
> программа (на C) выполняет в цикле
> большое количество запросов INSERT -
> на первой минуте работы происходит обработка со скоростью
> 23 запроса в секунду, а при долгой работе (где-то
> после внесения 600 000 записей) запросы обрабатываются
> со скоростью 4 запроса в секунду.
> Может быть надо как-то оптимизировать таблицу (она без
> индексов) или еще что-то...
>


From: BulbaBoy - 07/02/2003 - 12:07:46
Subject:Замедление работы INSERT
-----------------
та может и в коде что-то..
после прочтения ваших заметок надо конечно задуматься...
хотя...
я мерял более точно Perl'вім скриптом - замедление все
равно есть только не такое бістрое как я говорил..
Вот скрипт если кому интересно...

у него первім параметром ($ARGV[0]) в командной строке принимается число количества итераций (кол-во раз віполнения
запроса INSERT)

-----------------------------------------------------------------
#!/usr/bin/perl -w
use Time::HiRes qw( gettimeofday tv_interval );
use DBI();
my $engine_name="mysql";
my $dbname="test";
my $hostname="localhost";
my $port=3306;
my $username="root";
my $password="";

$data_source="dbi:$engine_name:$dbname:$hostname:$port";
$dbh=DBI->connect($data_source,$username,$password) || print "Can't connect: $dbh->errstr\n";

($s,$m,$h)=(localtime)[0,1,2];
print "Begin: [".$s.":".$m.":".$h."]\n";
($b_sec, $b_micros) = gettimeofday;
for ($i=0;$i<$ARGV[0];$i++)
{
$sth=$dbh->prepare("insert into trtr (AP,BV,HW,LNG,WH,PX,RF,JE,JV,REMOTE_ADDR,X_FORWARDED_FOR,TZ,UNIQ,COUNTRY,ISP,S,COOKIE,RELOADED) values('APAP',3,'HWHW','LNGLNG','WHWH',100,'RFRF','JEJE',10,20,30,40,'v','COUNTRYCOUNTRY','ISPISP',67,'N','Y')");
$rv=$sth->execute || die "Can't insert...\n";
}
$elapsed=tv_interval([$b_sec, $b_micros],[gettimeofday]);
$in_sec=$ARGV[0]/$elapsed;
print "\nBegin: [".$s.":".$m.":".$h."]\n";
print "Working: [".$elapsed."] seconds\n";
print "In 1 sec: [".$in_sec."]\n";

$rc=$sth->finish;
$rc=$dbh->disconnect;
exit 0;
----------------------------------------------------------------

В БД "test" таблица "trtr" создана запросом
----------------------------------------------------------------
create table trtr (
SID BIGINT UNSIGNED PRIMARY KEY NOT NULL AUTO_INCREMENT,
AP VARCHAR(32),
BV INT UNSIGNED,
HW VARCHAR(16),
LNG VARCHAR(16),
WH VARCHAR(16),
PX INT,
RF VARCHAR(255),
JE VARCHAR(1),
JV INT,
REMOTE_ADDR INT,
X_FORWARDED_FOR INT,
TZ INT,
WHEN1 TIMESTAMP DEFAULT NULL,
UNIQ VARCHAR(1),
COUNTRY VARCHAR(64),
ISP VARCHAR(64),
S INT,
COOKIE VARCHAR(1),
RELOADED VARCHAR(1)
);
go
----------------------------------------------------------------

замедление скорости работі INSERT'ов растет пропорционально
кол-ву записей в таблице (тест проводился под Linux'ом на
PIV 12гб раздел под БД и 256 Мб ОЗУ)...



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
6744



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |