![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 3 Dołączył: 8.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
Odkąd tylko pracuje z MySQL, używam biblioteki AdoDB - do obsługi baz danych. Chciałem zapytać profesjonalistów, co bardziej się opłaca - wykonywać zapytania ręcznie poprzez fetch, czy używać jakiejś biblioteki do baz danych? AdoDB posiada takie funkcje jak GetOne - pobranie jednego rekordu do zmiennej, GetCol - pobranie kolumny, GetRow - pobranie wiersza itp.
Proszę o wasze opinie, co jest wydajniejsze, co jest poprawniejsze i co wygodniejsze w użyciu (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Po prostu jak radzicie pracować z bazami MySQL (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (ta biblioteka AdoDB ma około 2MB) Zrobiłem małe testy czasowe AdoDB i ręcznych zapytań, i ręczne wypadają ok. 3x szybciej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Tylko że przy AdoDB piszę się mniej kodu, wygodniej nieco się pracuje z bazami. Tylko stosując ręczne zapytania, trzebaby się wyposażyć w jakąś funkcję zabezpieczającą zmienne wprowadzane do zapytań SQL z zewnątrz przed SQL Injection - tj. dodawanie apostrofów w odpowiednich miejscach itp. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 230 Pomógł: 3 Dołączył: 8.01.2008 Ostrzeżenie: (10%) ![]() ![]() |
Test AdoDB:
Kod <? function podajCzas(){ list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } $start=podajCzas(); require_once 'inc/db.php'; foreach($db->GetAll('SELECT * FROM events') as $player){ print_r($player);} echo ' czas: '.round(podajCzas()-$start,3).' sekund'; ?> Test fetch: Kod <? function podajCzas(){ list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } $start=podajCzas(); $sql_conn=mysql_connect('localhost', 'root', '***'); mysql_select_db('siatka'); $players=mysql_query('SELECT * FROM players'); while($player=mysql_fetch_assoc($players)){ print_r($player)]; } echo ' czas: '.round(podajCzas()-$start,3).' sekund'; ?> Wyświetlałem sobie struktury zwracanych tablic i liczyłem czas. Różnica niby duża, ale uwidoczni się to pewnie przy większych ilościach zapytań na jednej stronie, a na przeciętnych stronach za dużo się ich nie pojawia naraz (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) A biblioteki dają większą wygodę pracy z MySQL. Piszcie swoje opinie na ten temat, co wy używacie do pracy z MySQL, i jak radzicie innym (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Apocalyptiq 21.10.2008, 20:57:53 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 22:29 |