Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Skrypty obsługi baz danych _ Poszukuje klasy do obsługi bazy danych

Napisany przez: MalyKazio 25.06.2011, 15:29:12

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ć?

Napisany przez: Kshyhoo 25.06.2011, 15:32:01

Cytat
Puszkuje klasy do obsługi bazy danych

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

Napisany przez: sniver 25.06.2011, 17:13:21

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

Napisany przez: darko 25.06.2011, 17:27:43

Nie wymyślaj koła na nowo, jest http://php.net/manual/en/book.pdo.php

Napisany przez: peter13135 13.09.2011, 13:41:17

a PDO ma cache ? P

Napisany przez: darko 17.09.2011, 14:24:13

ma

Napisany przez: !*! 17.09.2011, 14:31:52

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


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

Napisany przez: darko 17.09.2011, 16:42:59

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 http://www.php.net/manual/en/pdo.prepare.php#79178

Napisany przez: Crozin 17.09.2011, 16:49:33

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 http://pl.php.net/PDO.

Napisany przez: xdev 17.09.2011, 19:58:51

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ę.

Napisany przez: tikky 26.01.2014, 15:32:10

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)