![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 20.05.2007 Ostrzeżenie: (0%)
|
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 |
|
|
|
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%)
|
Pokaz jeszcze jak to testujesz.
Uzywasz prepared statements? Ile rekordow miales wczesniej w bazie? Ile masz indexow w tej tabeli? Typy tabeli? itd. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 20.05.2007 Ostrzeżenie: (0%)
|
Wpisuje dane do pusych baz danych, zlozonych z 3 kolumn. Tabele są identyczne w każdej bazie danych.
Kod Mysql Kod <?php function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } $connect=mysql_connect("localhost", "root", "haslo") or die("Sprawdz połączenie z serwerem"); mysql_select_db("osoby"); $time_start =microtime_float(); for($i=1; $i<=1000; $i++) { $sql="INSERT INTO `inserto` (`Imie` , `Nazwisko` , `Miasto` ) VALUES ('Jan', 'Patrykowski', 'Tczew' )"; if (!mysql_query($sql,$connect)) { die('Error: ' . mysql_error()); } } echo "records added"; $time_end =microtime_float(); echo $time_end -$time_start; mysql_close($connect) ?> Kod Oracle Kod <?php function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } $connect = oci_connect("system", "haslo"); $time_start =microtime_float(); for($i=1; $i<=1000; $i++) { $stmt = oci_parse($connect, "INSERT INTO inserto(IMIE, NAZWISKO, MIASTO) VALUES ('Jan', 'Patrykowski', 'Tczew')"); oci_execute($stmt); } echo "records added"; $time_end =microtime_float(); echo $time_end -$time_start; ?> Kod Access Kod <?
function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } $dsn = "access"; $user = "Admin"; $password = "rybka"; $link = odbc_connect($dsn,$user,$password) or die ('dupa z polaczenia '); $time_start =microtime_float(); for($i=1; $i<=1000; $i++) { $query = "INSERT INTO `inserto` (`IMIE`, `NAZWISKO`, `MIASTO`) VALUES ('Jan', 'Patrykowski', 'Tczew' )"; $result= odbc_exec($link,$query); } echo "records added"; $time_end =microtime_float(); echo $time_end -$time_start; ?> |
|
|
|
![]() ![]() |
|
Aktualny czas: 22.12.2025 - 22:50 |