Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][PDO] prepare vs query vs exec - wydajność
desavil
post
Post #1





Grupa: Zarejestrowani
Postów: 339
Pomógł: 3
Dołączył: 15.10.2008
Skąd: Internet

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


Witam,

Mam pytanie odnośnie wydajności pomiędzy prepare, query a exec w PDO.
Czy lepiej jest bindować wszystko i używać prepare, czy też np. część bindować, a część bezpośrednio wpisywać w zapytaniu również przy użyciu prepare, a może stosować query, w przypadku danych, które możemy podać bez bindowania/sprawdzania na ew. podatność sql injection?

exec jak wiadomo, głównie do UPDATE/DELETE/INSERT, ale może w tym przypadku również lepiej używać prepare - jeżeli chodzi o wydajność?

Pozdrawiam!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Zasada jest prosta
query/exec:
SELECT * FROM tabela WHERE kolumna = 1
UPDATE tabela SET kolumna= 1

prepare-execute
SELECT * FROM tabela WHERE kolumna = DANE_POCHODZACE_OD UZYTKOWNIKA
UPDATE tabela SET kolumna = DANE_POCHODZACE_OD UZYTKOWNIKA
Go to the top of the page
+Quote Post
desavil
post
Post #3





Grupa: Zarejestrowani
Postów: 339
Pomógł: 3
Dołączył: 15.10.2008
Skąd: Internet

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


Cytat(Turson @ 23.11.2014, 22:52:03 ) *
Zasada jest prosta
query/exec:
SELECT * FROM tabela WHERE kolumna = 1
UPDATE tabela SET kolumna= 1

prepare-execute
SELECT * FROM tabela WHERE kolumna = DANE_POCHODZACE_OD UZYTKOWNIKA
UPDATE tabela SET kolumna = DANE_POCHODZACE_OD UZYTKOWNIKA


Jeżeli chodzi o używanie to wiem jak tego używać, tutaj mam namyśli wyłącznie kwestię wydajności.

Np., czy lepiej jak już robimy prepare to bindować wszystkie wartości (nawet te nie pochodzące od użytkownika), czy tylko te pochodzące od użytkownika, a pozostałe wpisywać bezpośrednio w zapytaniu?
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 19:45