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!


--------------------
"Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
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?


--------------------
"Nie ma głupich pytań, są tylko głupie odpowiedzi."
Pomogłem?? Kliknij "Pomógł" :) Dzięki!
Go to the top of the page
+Quote Post
Damonsson
post
Post #4





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Wiadomo, że te bez bindowania pojedyncze zapytania będą coś tam szybsze. Ale już jak puścisz kilka update z bindowaniem naraz w transakcji, to Ci się zrobi cache tych zbindowanych i pójdzie to szybciej z bindowaniem, niż bez. Tak więc daj sobie spokój z optymalizacją na tym etapie, bo więcej z tego problemów i zależności, niż pożytku.
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 Aktualny czas: 19.08.2025 - 21:36