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ę"?
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: !*! 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