Puncte:1

PHP PDO Foarte lent la preluare

drapel in

Am o problemă cu câteva interogări care rulează în PDO pe PHP conectarea la serverul MSSQL 2019. Am verificat ora în SSMS și este rapidă. De asemenea, am adăugat câteva cronometre în codul meu, astfel încât să pot vedea timpul de executare a interogării și timpul de preluare a datelor.

Am descoperit că problema este preluarea datelor.

Interogarea durează aproximativ 0,5 secunde, dar datele durează 5-10 secunde pentru a ajunge la PHP.Are mai puțin de 500.000 de octeți ca text, deci este un set de date mic de 9000 de rânduri. totul rulează în AWS. PHP și SQL sunt în aceeași zonă de disponibilitate și pe aceeași subrețea. Conexiunea dintre ele este bună și secunde pentru un set de date atât de mic pare o nebunie... deci presupunând că este o setare PHP?

Declarația mea de pregătire are următoarele opțiuni:

$stmt = $this->DB->prepare( $query, array(PDO::ATTR_CURSOR => PDO::CURSOR_SCROLL) );

Are cineva idee cum pot accelera? TIA!

Edit: am folosit și SSMS de la mașina de la distanță și interogarea este foarte rapidă; deci problema trebuie să fie în conexiunea PDO și/sau setări.

Zhorov avatar
drapel cn
Care este timpul de execuție, când utilizați cursorul implicit: `$stmt = $this->DB->prepare( $query);`?
drapel in
Asta a rezolvat! :) Mulțumesc. Timpul de preluare este de aproximativ 200 (!) de ori mai rapid, cu cursorul nesetat pentru interogări mai mari!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.