Jump to content
php.lv forumi

teoretisks jautajums apr db un php


Recommended Posts

Posted

Kā īsti php query un fetch_row funkcijas strādā ar datubāzi pie datu nolasīšanas.

Es saprotu tā ka, query nosūta sql pieprasijumu uz db, tur vins izpildās un tiek izveidota temp tabula (view). Pec tam no šīs izveidotās tabulas, ar fecth_row nolasa katru rindinju.

Tatad mani interesē vai šos principus esu sapratis precizi, un kur tā tabula fiziski tiek izveidota. Atmiņā uz DB servera, vai jau tiek parsutita uz PHP servera atmiņu, vai kā citādi?

 

Jautajums tads ir tapec ka japapēta tīkla noslodze, ņemot vērā ka PHP un DB neatrodas uz viena datora. Ja DB to temp tabulu saglabā savā atmiņā tad stulbi iznak pie lielaka datu apjoma, visu laiku jaskraida pec datiem (katras rindiņas) caur tiklu. Ja galigi braucu auzās, lamājiet :)

Posted

Elementarno vatson

 

-> Send SQL

<- Return Result ID & Error Code

-> Fetch row from result (tiek padots resulta ID)

<- Return Data (binarie dati, mysql -> php atgriež jau saformatētus stringus/etc)

 

Rezultāts tiek glabāts atmiņā, kas tiek "nomārķēts" ar rezultāta ID, tālāk jau pie fetch notiek atmiņas nolasīšana ( rowid ir offset attiecībā pret sākumu pareizināts reiz fiziska ieraksta datu izmēra - par to jau rūpējās sql serveris)

Posted (edited)

tas skaidrs, bet viens jautajums paliek. Kura servera atmiņā viņš glabā rezultātu, ja pieņemam ka DB un PHP serveri izvietoti uz atseviskiem datoriem.

Edited by Blitz
Posted
Kura servera atmiņā viņš glabā rezultātu

 

System RAM vai Swap atmiņā, ja fiziskā RAM atminās pa maz (fizisks fails uz HDD vai partīcija *nix-am)

×
×
  • Create New...