![]() |
![]() ![]() |
![]() |
![]()
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? |
|
|
![]() ![]()
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 |
|
|
![]()
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.
|
|
|
![]()
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
Podobne funkcje mam napisane dla UPDATE,COUNT itp -dzięki nim praca na kodem jest szybsza a sam kod dużo krótszy. |
|
|
![]()
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. |
|
|
![]()
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 |
|
|
![]()
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. |
|
|
![]()
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 |
|
|
![]()
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? |
|
|
![]()
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 firmowymCytat 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 |
|
|
![]()
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. |
|
|
![]()
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ń:)
|
|
|
![]()
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) ? |
|
|
![]()
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. |
|
|
![]()
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 |
|
|
![]()
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. |
|
|
![]()
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? |
|
|
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 21:56 |