Jump to content
php.lv forumi

Recommended Posts

Posted

Tātad izveidoju mājaslapu bet gribu uzzināt kā to var optimizēt :)

Jo zinu, ka tas atvieglos darbību, ja būs daudz lietotāju.

 

Ar koda palīdzību noteicu cik indexā izpildās kvēriji - 32

gribu zināt kā šo skaitu var samazināt ( ja var ) apvienojot vai ko tur izdarot.

 

Ja nav tādu pamācību tad rakstiet PM paskaidrošu sīkāk kas par lapu un varbūt pat aizsūtīšu lai paši redzat kodu.

 

Vēl zinu ka ir iespējams arī PHP optimizēt. Labprāt uzzinātu kā arī to var izdarīt.

 

Paldies jau iepriekš, eT^

  • Replies 36
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted

Ar Xdebug papētīt kas izpildās visilgāk un to optimizēt. Ir ļoti daudz varianti kā un ko darīt. Meklē "bottleneckus".

Kverijus optimizēt, pareizus indeksus salikt, kešot utt.

Posted

labi mēģināšu skatīties caur to Xdebug

bottlenecki :D patīk skaidrojums - pudeles kakli ķip.? :D

par kvērjiem tumša bilde ;[

Posted

Ja gribi optimizēt queriju, varbūt uztaisi vienu procedūru, kas MySQL galā uztaisīs ciklu un atgriezīs iekš php vienkārši masīvu, ko izmantot, tev nebūs jāvēršas pie db atkārtoti... Bet neesmu mēģinājis, neesmu drošs, vai tas optimizēs ātrumu.

Otrs variants - ej cauri kodam, skaties, kur notiek pilnīgi liekas lietas.

BTW, ko gribi optimizēt - servera gala izpildi vai klienta gala?

Posted
Ja gribi optimizēt queriju, varbūt uztaisi vienu procedūru, kas MySQL galā uztaisīs ciklu un atgriezīs iekš php vienkārši masīvu, ko izmantot, tev nebūs jāvēršas pie db atkārtoti...

E? kā tas ir jāsaprot?

Posted

pie webistiem laikam pieņemts - atrodi kur paliek laiks(bottleneckus), un sakešo to, ko dara bottlenecki. ja tā nevar, tad tikai sāc domā par kaut kā pārtaisīšanu dziļāk.

Posted
E? kā tas ir jāsaprot?

 

Tā, ka tu MySQL galā izdari lielu daļu darba un db pieprasījumus iekš vienas procedūras, ko izsauc php ar vienu pieprasījumu mysql_query("CALL MY_PROC(tram1,taram2,param3);",$db_link); un izmanto atgrieztos datus nekā veic atkārtotus querijus no php gala.

Posted

Tad jau var html kodā paslēpt flash objektu, kurā iebūvē mysql konektēšanās funkcijas un ar jūzeri, kurš var tikai izsaukt procedūras, izsauc un dabū datus. PHP pat nebūs vajadzīgs vipār. Ielādēsi pliku HTML ar paslēptu Flashu un datus no DB caur tiešo Flash-Mysql konekciju.

Vai nav jauki? :)

Posted

Kāpēc nevar vienkārši dabūtos datus no parasta kverija saglabāt php pusē un neveikt atkārtotus kverijus bez nekādām storātām procedūrām?

Posted

Nu var arī iekešot, bet nu ja ir kaut kādi starpkveriji?

Datubāzi vajag optimizēt, bet, ja tā atbilst vismaz pirmajām 3 normālformām pilnībā, bieži vien sanāk daudz relācijas! :D

Posted

Kāds tagad starpkverijiem tur sakars? Kveriju iekš kverija var arī normāli tāpat bez storētām procedūrām uzrakstīt. Nesaprotu, kur tu tur dikti lielo ieguvumu redzi.

Es, protams, nesaku, ka nevajag lietot storētās procedūras. Tās vajag lietot, lai atdalītu SQL kverijus no php koda. Taču, tās itin neko labāku optimizācijas ziņā īpaši nedos.

Posted

Varbūt,ka viņam ir kkas tāds:

$sql = "select id,... FROM t1";

$result = mysql_query($sql);

while($row = mysql_fetch_assoc($result))

{

$sql2 = "SELECT ... FROM t2 WHERE t1_id = {$row['id']}";

...

}

Ko vienkārši varētu optimizēt ar join.

 

Kā tieši, Java, tu plāno apvienot vienā rezultātā dažāda platuma, garuma sql rezultātus?

Posted

bubu, kāpēc tad tik ilgi diskutēt, ja mana sākotnējā doma tāda arī bija?

Es, protams, nesaku, ka nevajag lietot storētās procedūras. Tās vajag lietot, lai atdalītu SQL kverijus no php koda. Taču, tās itin neko labāku optimizācijas ziņā īpaši nedos.

 

Un es arī teicu, ka neesmu pārliecināts vai tas dos ko ātrdarbības ziņā... Pieņemu, ka uz nelielu projektu nekādas dižās atšķirības nebūs.

Posted
Kā tieši, Java, tu plāno apvienot vienā rezultātā dažāda platuma, garuma sql rezultātus?

 

Par daudzdimensiju masīviem esi dzirdējis?


×
×
  • Create New...