Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Poszukuje klasy do obsługi bazy danych
MalyKazio
post 25.06.2011, 15:29:12
Post #1





Grupa: Zarejestrowani
Postów: 168
Pomógł: 1
Dołączył: 19.11.2005

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


Witam,

Przymierzam się do stworzenia kolejnej strony - mini portalu. Oczywiście całość ma być oparta o bazę MySQL. W związku z tym moje pytanie. Jaka jest sensowna, rozwijana klasa do obsługi bazy danych MySQL? Czego warto użyć?

Ten post edytował MalyKazio 25.06.2011, 17:51:47


--------------------
"Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
Go to the top of the page
+Quote Post
Kshyhoo
post 25.06.2011, 15:32:01
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Cytat
Puszkuje klasy do obsługi bazy danych

W sensie, że "konserwuję"?
brzydal.gif


--------------------
Go to the top of the page
+Quote Post
sniver
post 25.06.2011, 17:13:21
Post #3





Grupa: Zarejestrowani
Postów: 159
Pomógł: 5
Dołączył: 31.08.2007

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


ja wykorzystuje własną implementacje mysqli wrzuconej we wzorzec singleton + pare dodatków do cache i tworzenia zapytań...


--------------------
Go to the top of the page
+Quote Post
darko
post 25.06.2011, 17:27:43
Post #4





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Nie wymyślaj koła na nowo, jest PDO


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
peter13135
post 13.09.2011, 13:41:17
Post #5





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


a PDO ma cache ? P


--------------------
:)
Go to the top of the page
+Quote Post
darko
post 17.09.2011, 14:24:13
Post #6





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


ma


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
!*!
post 17.09.2011, 14:31:52
Post #7





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Cytat(darko @ 17.09.2011, 15:24:13 ) *
ma


To chyba mnie coś omija... Gdzie PDO ma cache? Jakaś nowa wersja?

Ten post edytował !*! 17.09.2011, 14:32:52


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
darko
post 17.09.2011, 16:42:59
Post #8





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Zapytania preinterpretowane są cacheowane po stronie serwera:
Cytat
Calling PDO::prepare() and PDOStatement::execute() for statements that will be issued multiple times with different parameter values optimizes the performance of your application by allowing the driver to negotiate client and/or server side caching of the query plan and meta information, and helps to prevent SQL injection attacks by eliminating the need to manually quote the parameters.

[za:] http://php.net/manual/en/pdo.prepare.php

Oczywiście nie jest to cacheowanie poza warstwą serwera, ale w ramach tejże, jednak należy pamiętać, że mechanizm ten funkcjonuje dopiero od wersji MySQL 5.1.17


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
Crozin
post 17.09.2011, 16:49:33
Post #9





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Zacznijmy może od tego, że cache'owane może być tutaj 15 rzeczy na 20 sposobów każde, więc darujcie sobie tą dyskusję albo określcie dokładnie o cache czego chodzi.

Jeżeli chodzi o samo połączenie to PDO - raczej nic innego nie jest warte rozważania. Jeżeli zaś chodzi o jakieś bardziej przyjazne i rozbudowane API dla zapytań to wartym rozpatrzenia wydaje się być Doctrine DBAL.
Go to the top of the page
+Quote Post
xdev
post 17.09.2011, 19:58:51
Post #10





Grupa: Zarejestrowani
Postów: 39
Pomógł: 3
Dołączył: 17.09.2011

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


1. Prepared statments z PDO to nie cache
2. Czasem lepiej napisać coś lekkiego i nie trzeba do prostego portalu używać takiego kombajnu.

Cytat
Using prepared SELECT statements on a MySQL database prior to MySQL 5.1.17 can lead to SERIOUS performance degradation.


Trzeba czytać ze zrozumieniem. Tutaj jest napisane, że do wersji 5.1.17 perpared statements z SELECT może powodować bardzo duży spadek wydajności. Tutaj nie ma nic o jej poprawie przy użyciu PS.

Co więcej cache dla "zwykłych" kwerend jest używane ZAWSZE (także poniżej 5.1.17). Nawet jeśli masz SQL > 5.1.17 i używasz PS to marginalnie szybsze może to być jedynie wtedy kiedy raz przygotujesz kwerendę którą potem wykonasz wiele razy. Z naciskiem na _może_, bo to nic pewnego. Jeśli przygotujesz kwerendę którą zaraz później raz wykonujesz PS jest WOLNIEJSZE, niż gdybyś tę samą kwerendę po prostu wysłał do serwera.

Moim zdaniem gra nie warta świeczki. ORM-y oczywiście są warte zainteresowania, jeśli akurat lubisz tłumaczyć świetny model SQL na model obiektowy który się do reprezentacji danych z tabel kompletnie nie nadaje i odpowiada ci prędkość żółwia. Moim zdaniem - przejściowa moda, żadnej bardziej skomplikowanej kwerendy w ORM-ie nie zrobisz i będziesz i tak musiał w końcu poznać SQL. Że o optymalizacji nie wspomnę.

Ten post edytował xdev 17.09.2011, 20:02:28
Go to the top of the page
+Quote Post
tikky
post 26.01.2014, 15:32:10
Post #11





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 2.10.2007

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


Ja polecam EZ SQL - używam z powodzeniem od dawna:
http://justinvincent.com/ezsql


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.10.2019 - 05:39