Czas wykonania polecenia insert
Anka - 21-05-2007 00:09
Czas wykonania polecenia insert
Witam!
Chciałabym się dowiedzieć skad takie różnice w czasach jesli stosuje polecenie INSERT i wstawiam za pomocą pętli 1000 takich samych rekordów do poszczególnych baz danych.
Oto moje wyniki:
MYSQL- 18,26373989583
ORACLE- 1,80383136272
ACCESS- 1,11975848675
Bardzo proszę o odpowiedź co może być przyczyną tego, że MySQL tak odstaje ;/
Pozdrawiam
Lemat - 21-05-2007 00:09
Anka pisze: > Witam! > > Chciałabym się dowiedzieć skad takie różnice w czasach jesli stosuje > polecenie INSERT i wstawiam za pomocą pętli 1000 takich samych > rekordów do poszczególnych baz danych. > > Oto moje wyniki: > > MYSQL- 18,26373989583 > > ORACLE- 1,80383136272 > > ACCESS- 1,11975848675 > > Bardzo proszę o odpowiedź co może być przyczyną tego, że MySQL tak > odstaje ;/
mało danych, masz założone indexy? robisz jakieś LOCKi przed? robisz to na tej samej maszynie? a INSERT DELAYED ?
-- Pozdrawiam Lemat
Brzezi - 21-05-2007 00:09
nie, 20 maj 2007 o 16:18 GMT, Lemat napisał(a):
> mało danych, > masz założone indexy? > robisz jakieś LOCKi przed? > robisz to na tej samej maszynie? > a INSERT DELAYED ?
ja bym tu jeszcze dolozyl autocommit
Pozdrawiam Brzezi -- [ E-mail: brzezi@enter.net.pl ][ Twoje wczasy testowali\xB6my juz na ] [ Ekg: #3781111 ][ Niemcach ! [reklama biura podr\xF3\xBFy TUI] ] [ LinuxUser: #249916 ][ ]
dap - 17-06-2007 00:15
Anka wrote: > Witam! > > Chcia?abym si? dowiedzie? skad takie ró?nice w czasach jesli stosuje > polecenie INSERT i wstawiam za pomoc? p?tli 1000 takich samych > rekordów do poszczególnych baz danych. > > Oto moje wyniki: > > MYSQL- 18,26373989583 > > ORACLE- 1,80383136272 > > ACCESS- 1,11975848675 > > Bardzo prosz? o odpowied? co mo?e by? przyczyn? tego, ?e MySQL tak > odstaje ;/ > > Pozdrawiam
Podaj insert i ca?? sk?adni? polecania.
dap
Herakles - 17-06-2007 00:15
Anka wrote:
> Witam! > > Chcia?abym si? dowiedzie? skad takie ró?nice w czasach jesli stosuje > polecenie INSERT i wstawiam za pomoc? p?tli 1000 takich samych > rekordów do poszczególnych baz danych. > > Oto moje wyniki: > > MYSQL- 18,26373989583 > > ORACLE- 1,80383136272 > > ACCESS- 1,11975848675 > > Bardzo prosz? o odpowied? co mo?e by? przyczyn? tego, ?e MySQL tak > odstaje ;/ > > Pozdrawiam 1) ACCESS to nie jest baza danych, tylko jej namiastka. 2) zrób insert nie tak: for(bla;bla;bla) DB->qar("insert bla(bla) values(bla) tylko zbuduj dynamicznie stringa, który wstawia za pomoc? jednego zapytania. 3) Swego czasu w postgresie rozwi?za?em problem wielu insertów i updateów robionych przez aplikacj?, tak, ?e robi?em temp table, potem COPY, a potem "insert ... select ..." i "update ... from ..." ?miga?o a? mi?o.
=?ISO-8859-2?Q?Przemys=B3aw_Rachwa=B3?= - 17-06-2007 00:15
Herakles napisa?(a): > Anka wrote: > >> Witam! >> >> Chcia?abym si? dowiedzie? skad takie ró?nice w czasach jesli stosuje >> polecenie INSERT i wstawiam za pomoc? p?tli 1000 takich samych >> rekordów do poszczególnych baz danych. >> >> Oto moje wyniki: >> >> MYSQL- 18,26373989583 >> >> ORACLE- 1,80383136272 >> >> ACCESS- 1,11975848675 >> >> Bardzo prosz? o odpowied? co mo?e by? przyczyn? tego, ?e MySQL tak >> odstaje ;/ >> >> Pozdrawiam > 1) ACCESS to nie jest baza danych, tylko jej namiastka.
fakt, ale w tym konkretnym przypadku z 15 razy szybsza ;)
> 2) zrób insert nie tak: > for(bla;bla;bla) > DB->qar("insert bla(bla) values(bla) > tylko zbuduj dynamicznie stringa, który wstawia za pomoc? jednego zapytania.
a nie lepiej procedur? po stronie serwera? zmieniaj? si? tylko wtedy parametry
> 3) Swego czasu w postgresie rozwi?za?em problem wielu insertów i updateów > robionych przez aplikacj?, tak, ?e robi?em temp table, potem COPY, a > potem "insert ... select ..." i "update ... from ..." ?miga?o a? mi?o.
szaman - 17-06-2007 00:15
Jest wiele jeszcze istotnych spraw, które na to moga wp?yn?? a o których w ogóle nie wspomnia?a?. Przyk?ady pyta? do Ciebie ;-) - jak jest robiona ta p?tla , - jakich komponentów u?ywasz do ??czenia si?, a mo?e jakiego? loadera, - sk?d pochodz? dane ?ród?owe (generowane, z innej tabeli, z pliku) - czy dane po drodze nie musz? by? konwertowane w jednej z baz a w drugiej musz? (mo?e np pole daty) - co ile rekordów jest COMMIT - jaki masz kolor oczu - czy mo?esz poda? nr telefonu - czy masz mo?e wolny wieczór - ...
Anka - 17-06-2007 00:16
Witam! Oto skrypt dla mysql-a, w accessie i oracle identyczny poza poleceniem przylaczenia do bazy Moze problem jest w tym ze lacze sie przez wampa?
<?php function getmicrotime() { list($usec,$sec)=explode(' ',microtime()); return (round((float)$usec+(float)$sec,5)); }
print "<META CHARSET=UTF8>"; print "<FORM METHOD=\"POST\">"; print "Ilo?? rekordów do wstawienia<INPUT SIZE=\"10\" MAXLENGHT=\"10\" TYPE=\"tekst\" NAME=\"ile_insert\">";
print "<INPUT TYPE=\"submit\" NAME=\"akcja\" VALUE=\"Dodaj\">";
print "<INPUT TYPE=\"HIDDEN\" NAME=\"co\" VALUE=\"mysql_insert\">";
print "</FORM>";
if ($_POST["akcja"]=="Dodaj") {
$start=getmicrotime();
$link=mysql_connect("localhost","root","");
mysql_select_db("numer");
for ($i=1;$i<=$_POST[ile_insert];$i++) {
$query= "INSERT INTO `numer`(`numer`) VALUES ('$i')";
$result=mysql_query($query); }
$stop=getmicrotime(); } echo round($stop-$start,5);
?>
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[postgresql] INSERT OR UPDATE - jak =?ISO-8859-2?Q?b=EAdzie_na?==?ISO-8859-2?Q?jlepiej=3F?=
[MySQL] Czy da =?ISO-8859-2?Q?si=EA_wykonac_takie_powi=B1z?==?ISO-8859-2?Q?anie_mi=EAdzy_tabelami=2C_i_jak_to_odpyta=E6_? ==?ISO-8859-2?Q?=3F?=
Insert do tabeli danymi z innej tabeli Firebird
Oracle Application Express na Oracle Database 10g Express Edition- wykonalne?
[mssql] insert do tabeli na podstawie danych z innej tabeli
[MySQL] Skomplikowany count(), jak to =?ISO-8859-2?Q?wykona=E6_?==?ISO-8859-2?Q?=3F?=
Insert do tabeli z danych innej tabeli plus dodatkowa wartośćpola (Firebird)
[pgsql] Wykonanie triggera po =?ISO-8859-2?Q?zako=F1czeniu_tra?==?ISO-8859-2?Q?nsakcji?=
postgres - ile razy wykona =?ISO-8859-2?Q?si=EA_funkcja_w_?==?ISO-8859-2?Q?zapytaniu?=
=?ISO-8859-2?Q?Warstwa_ALPHA_z_r=F3=BFnicy_dw?= =?ISO-8859-2?Q?=F3ch_obraz=F3w_-_jak_wykona=E6_=3F?=
zanotowane.pldoc.pisz.plpdf.pisz.ploefg.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|