2011-06-21 12 views

Odpowiedz

9

Wątpię, aby korzystanie z PDO lub MySQLi będzie wąskim gardłem, jednak, jeśli poprosisz o bechmarks, here they are (nic poważnego, tylko kilka testów).

Ogólnie rzecz biorąc, używanie jednego z nich jest kwestią gustu, a wąskie gardła zwykle znajdują się gdzie indziej (np. Zapytania, indeksy, kod PHP itp.).

Jedną z rzeczy, które można rozważyć, jest użycie jakiegoś opakowania DB, tj. Klasy, która używa PDO lub MySQLi, w zależności od preferencji. W kodzie używaj tego opakowania zamiast bezpośrednio z PDO lub MySQLi. Jeśli to zrobisz, będziesz mógł przełączać się między PDO, MySQLi lub inną biblioteką, zmieniając pojedynczą klasę zamiast zmieniać cały kod.

+1

Które opakowanie DB będzie dobre dla witryny o dużym natężeniu ruchu? czy polecisz jakąkolwiek dobrą klasę wrapperów DB? –

+0

Nie mogę polecić żadnego, ponieważ nigdy nie używałem żadnego otwartego opakowania. W przypadku moich projektów wystarczy za pomocą prostej klasy, która ma kilka klas - 'select ($ sql, array $ params)', 'selectRow ($ sql, array $ params)', 'selectCol ($ sql, array $ params, $ valueColumn, $ keyColumn) ',' selectValue ($ sql, array $ params) 'do wyboru danych i' exec ($ sql, $ params) 'do wstawiania, aktualizowania i usuwania danych. Wszystkie selekcje zwracają tablicę danych ('selectValue()' zwraca ciąg lub null), 'exec()' zwraca boolean. '$ sql' jest zapytaniem dla przygotowanej instrukcji,' $ params' to wartości do zniesienia. – binaryLV

+0

możesz podać mi opakowanie używane w projekcie ur. .. dziękuję –