Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> ado vs. mysql_*
pbanasiak
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 3.04.2004

Ostrzeżenie: (0%)
-----


korzystam z mysql i raczej nie planuje zmiany bazy.
i teraz takie pytanie
czy jeżeli będę korzystał z ado zamiast mysql_* to mocno stracę na wydajności?
czy może się mylę i będzie wydajniej?
jeżeli jednak ado jest mniej wydajne to czy dużo mniej? mam w takim przypadku dylemat czy lepiej mieć większą wydajność korzystając z mysql_* czy lepiej możliwość w każdym momencie zmiany bazy?
Go to the top of the page
+Quote Post
Sh4dow
post
Post #2





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


czysto teoretycznie wykonywanie zapytan poprzez takie skrypty jak ADODB zawsze bedzie wolniejsze. Ale takie skrypty moga posiadac rozne mechanizmy cache'ujace ktore w niektorych przypadkach zwieksza wydajnosc. Sa takie metody pomocnicze ktore niektore zapytania potrafia generowac za ciebie. Takze bardzo ciekawe rozwiazanie i czesto pomocne.

W php 5.1 jest juz cos takiego jak PDO proponuje poczytac jesli interesuje http://pl2.php.net/pdo
Go to the top of the page
+Quote Post
Jabol
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

Ostrzeżenie: (0%)
-----


AdoDB ma jezscze ten plus, że jest systemem wysokopoziomowym. Więc jako interfejs wysokopoziomowy ma nie tylko zaimplementowane funkcje obsługi bazy danych, ale również przetważania wyników i temu podobne. Te dodatkowe możliwości uważam osobiście za wielki plus adodb i chyba jego największą wartość, gdyż inaczej musiałbym samemu je implementowac.
Go to the top of the page
+Quote Post
NuLL
post
Post #4





Grupa: Zarejestrowani
Postów: 2 262
Pomógł: 21
Dołączył: 3.05.2004
Skąd: Sopot, Krakow, W-wa

Ostrzeżenie: (0%)
-----


Coś w tym jest. Ja sądze podobnie jak przemówca - ja nie korzystam z ADO czy czegoś w tym stylu ale własnie funkcje typu
  1. <?php
  2.  
  3. $db->insert('tabela',array('pole1'=>'wartosc','pole2'=>'wartosc2');
  4.  
  5. ?>

Podobne funkcje mam napisane dla UPDATE,COUNT itp -dzięki nim praca na kodem jest szybsza a sam kod dużo krótszy.
Go to the top of the page
+Quote Post
SongoQ
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Cytat
czy jeżeli będę korzystał z ado zamiast mysql_* to mocno stracę na wydajności?

Na takie rzeczy raczej nie powinno sie patrzec, bo czas naprawde nie jest tu bardzo rozniacy sie. Problem zaczyna sie wtedy kiedy zapytania sa nieoptymalne i zwracanie z bazy trwa kilka jak nie kilkadziesiat sekund.
Go to the top of the page
+Quote Post
sobstel
post
Post #6





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(SongoQ @ 2005-12-06 21:42:21)
Cytat
czy jeżeli będę korzystał z ado zamiast mysql_* to mocno stracę na wydajności?

Na takie rzeczy raczej nie powinno sie patrzec, bo czas naprawde nie jest tu bardzo rozniacy sie.

tu bym polemizował, m.in. masy kilobajtów dolaczane wraz z biblioteka maja znaczenie. co prawda jak na serwerze dzialaja jakies optymalizatory to ma sie to lepiej. pewnym rozwiazaniem jest uzycie adodb lite, ale i tak przewaznie takei biblioteki pozostana wolniejsze niz zwykle mysql_*.

dla potwierdzenia moich słów np. wedlug testow na http://adodblite.sourceforge.net/benchmark.php adodb jest ponad 5-krotnie wolniejsze (z akceleratorem "tylko" prawie 2-krotnie). czesciowo powyzsze testy potwierdzaja takze te http://phplens.com/lens/adodb/ (jak widac z akceleratorem sytuacja jest do przyjecia, chociaz gdy nie chcemy wykrozystac jakichs szczegolnie specjalnych cech adodb, to nie widze sensu).

Ten post edytował sopel 6.12.2005, 23:19:46
Go to the top of the page
+Quote Post
SongoQ
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Cytat
tu bym polemizował, m.in. masy kilobajtów dolaczane wraz z biblioteka maja znaczenie. co prawda jak na serwerze dzialaja jakies optymalizatory to ma sie to lepiej. pewnym rozwiazaniem jest uzycie adodb lite, ale i tak przewaznie takei biblioteki pozostana wolniejsze niz zwykle mysql_*

Z tym sie zgadzam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Chodzilo mi bardziej o to ze stosowanie takiej biblioteki przy zapytaniu ktore baza przetwaza np 0.2 s jest niczym.
Go to the top of the page
+Quote Post
pbanasiak
post
Post #8





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 3.04.2004

Ostrzeżenie: (0%)
-----


Cytat
Chodzilo mi bardziej o to ze stosowanie takiej biblioteki przy zapytaniu ktore baza przetwaza np 0.2 s jest niczym
w przypadku kilkudziesięcu zapytań na sekunde to 5 krotna strata wydajności nie jest niczym (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

zastanawiam się nad PDO, tylko martwi mnie, że nie jest to jeszcze wersja finalna
Go to the top of the page
+Quote Post
SongoQ
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Cytat
w przypadku kilkudziesięcu zapytań na sekunde to 5 krotna strata wydajności nie jest niczym

Teoretycznie powinno byc jak najmniej zapytan do bazy. Ale wszystko zalezy od bazy i umiejetnosci pisania zapytan.

Cytat
zastanawiam się nad PDO, tylko martwi mnie, że nie jest to jeszcze wersja finalna

Znasz moze firmy, ktore maja PDO w swojej ofercie?
Go to the top of the page
+Quote Post
pbanasiak
post
Post #10





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 3.04.2004

Ostrzeżenie: (0%)
-----


Cytat
Teoretycznie powinno byc jak najmniej zapytan do bazy. Ale wszystko zalezy od bazy i umiejetnosci pisania zapytan.
w tym wypadku jeden user = jedno zapytanie - to taki mały projekt dla pracowników jednej firmy chodzący na ich serwerze firmowym

Cytat
Znasz moze firmy, ktore maja PDO w swojej ofercie?

progreso.pl
na dniach ma być php 5.1
ale i tak możesz robić własne php.ini więc chyba nie powinno być problemu jak sobie samemu włączysz obsługę pdo

jak chcesz to dostaniesz 5% zniżki -> pw
Go to the top of the page
+Quote Post
SongoQ
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Cytat
w tym wypadku jeden user = jedno zapytanie - to taki mały projekt dla pracowników jednej firmy chodzący na ich serwerze firmowym

Nie wszystko zamkniesz w jedno zapytanie bo to logicznie nie mozliwe. No chyba ze mowimy o PG czy ORACLE w ktorym sobie napiszesz funkcje ktora np bedzie CI zwracac jednym zapytaniem wszystko co CI jest potrzebne w danym zadaniu. Ale szczerze takiego czegos nie widzialem, no ale zawsze mozna sprobowac.
Go to the top of the page
+Quote Post
pbanasiak
post
Post #12





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 3.04.2004

Ostrzeżenie: (0%)
-----


mówie o mysql, a skrypt ma po prostu zwracać 1 lub 0 w zależności od loginu pracownika, więc nie potrzeba tutaj kilku zapytań:)
Go to the top of the page
+Quote Post
SongoQ
post
Post #13





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Cytat
mówie o mysql, a skrypt ma po prostu zwracać 1 lub 0 w zależności od loginu pracownika, więc nie potrzeba tutaj kilku zapytań


To co w calym serwisie masz tylko to zapytanie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
sobstel
post
Post #14





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(SongoQ @ 2005-12-08 21:53:05)
Cytat
mówie o mysql, a skrypt ma po prostu zwracać 1 lub 0 w zależności od loginu pracownika, więc nie potrzeba tutaj kilku zapytań


To co w calym serwisie masz tylko to zapytanie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

w takiej sytuacji to nawet nie ma co sie za bardzo zastanawiac i wykonywac jedną natywną funkcją mysql_query. imho w takiej sytuacji uzywanie adodb troche nie ma sensu.
Go to the top of the page
+Quote Post
pbanasiak
post
Post #15





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 3.04.2004

Ostrzeżenie: (0%)
-----


może po kolei
w pewnej firmie jest serwer z mysql
na komputerach pracowników jest soft napisany w c korzystający z tej bazy - niepytajcie dlaczego bo nie ja to robiłem
właściciel odkrył taką rzecz jak google, a potem taką rzecz jak php i zażyczył sobie przepisania wszytskiego z c na php, tak aby pracownicy mogli all robić za pomocą przeglądarki. teraz jest to jedno zapytanie, które zwraca 1 lub 0 - właściciel się uparł, że ma być od razu, a na przepisanie wszytskiego na php mam trochę czasu.
docelowo ma to uciągnąć do 500-1000 zapytań na sekundę. no i mam problem czy przepisywać to na mysql, na ado czy na pdo. chociaż skłaniam się ku pdo
Go to the top of the page
+Quote Post
SongoQ
post
Post #16





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


Cytat
docelowo ma to uciągnąć do 500-1000 zapytań na sekundę

Jesli jest to tylko dla firmy to podejrzewam ze to pewne obliczenia i wszystko wrzucane do bazy. Jesli tak to mozna by pokombinowac i zrobic wrzucanie w paczkach do bazy, aby zmiejszyc ilosc polaczen z baza, no chyba ze mowiles o ilosci odpytan bazy przez kilku userow.
Go to the top of the page
+Quote Post
pbanasiak
post
Post #17





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 3.04.2004

Ostrzeżenie: (0%)
-----


problem w tym, że nie wiem jakie zapytania idą do bazy bo szef był tak mądry, że nie zostawił kodu źródłowego w c i zapytania muszę wymyślac sam, więc nie wiem ile z tego wyjdzie, bo 500-1000 na sekunde jest teraz

jeszcze jedno czy bindparam zabezpiecza przed włamaniami - chodzi mi, czy ta funkcja sama doda ukośniki, czy muszę to robić sam?
Go to the top of the page
+Quote Post
sobstel
post
Post #18





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(pbanasiak @ 2005-12-15 20:57:20)
czy bindparam zabezpiecza przed włamaniami - chodzi mi, czy ta funkcja sama doda ukośniki, czy muszę to robić sam?

nie musisz sie obawiac o ukosniki wtedy.

p.s. zaczynasz zadawac pytania, na ktore odpowiedz mozna bardzo latwo znalezc w manualu. nastepnym razem prosze cie zajrzyj wlasnie tam w pierwszej kolejnosci.

Ten post edytował sopel 15.12.2005, 21:25:08
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 21:56