Spor odziv servera (samo jedan query) - 1.7 sec

@tpojka, ma mnogo informacija, uvenucu ovde pored kompa, tebi svaka cast.
Ne, sada je za taj jedan upit koji je bio 1.7 sec, nakon instalacije MariaDB i sklanjana * iz upita, brzina, premo Gtmetrix svedena sa 1.7 s na 0. 7 sec, to je dobro, ubrzano je iscitavanje iz baze.

Sad je problem, kada se pozove ceo sajt, sa vise upita koji nisu JOIN, samo onaj jedini gore, taj odziv servera je 1.4 secunde, a smanjen je sa 2.2 pre svih izmena, ali bi trebao da je 200 ms samo.

Uvenuti, nego šta. :smiley:

Probaj još i UNION praviš query više al’ možda ga izvede brže od OR klauzule.

(SELECT k.id as id, k.katid as kid, k.naslov as naslov, k.naslov1 as naslov1, COUNT( o.id ) AS zbir 
FROM `proizvodi_page` `k` 
LEFT JOIN (SELECT * FROM `proizvodi_new` WHERE akt='Y' AND nalageru=1) `o` 
    ON (`o`.`idfirme` = `k`.`id`)
WHERE k.id_page='72' AND k.akt='Y')
UNION DISTINCT 
(SELECT k.id as id, k.katid as kid, k.naslov as naslov, k.naslov1 as naslov1, COUNT( o.id ) AS zbir 
FROM `proizvodi_page` `k` 
LEFT JOIN (SELECT * FROM `proizvodi_new` WHERE akt='Y' AND nalageru=1) `o` 
    ON (`o`.`idfirme1` = `k`.`id`)
WHERE k.id_page='72' AND k.akt='Y') 
GROUP BY k.naslov 
ORDER BY k.naslov ASC

Isto stavi u index proizvodi_page.id_page i proizvodi_page.akt.

Ne sekiraj se, više volim da naučim na tvojim greškama nego na svojim. :smiley:

@trojka, mLogo komplikovan ovaj upt :slight_smile:, tacnije nije, al cemu union, usporice verovatno jos vise.
Probah ovaj upit, izbacuje neke greske. Ne bih da testiram, da ga ispravljam.

Inace sam reinstalirao VPS, tacnije, novije verzije Apachea, MariaDB, noviji php (ali ne najnoviji :)) i sada radi sve mnogo brze, a ja mnogo sporije, jer nisam spavao do 7 ujutru :smiley:
Nije savrseno da je odziv servera 200ms, ali mnogo je bolje, od 400 do 800ms.
Za odziv od 200 ms, treba znatno jaci VPS, cini mi se.
Eto toliko, koliko sve ovo moze da bude iscrpljujuce i neizvesno, a lepo s druge strane kad vidis da nesto bolje radi.

Udarnički - nema šta.
Probaj još (ne znam da li će tako raditi):

LEFT JOIN (SELECT * FROM `proizvodi_new` WHERE akt='Y' AND nalageru=1) `o` 
ON `k`.`id` = (CASE 
                   WHEN `k`.`id` = `o`.`idfirme` THEN `o`.`idfirme` 
                   WHEN `k`.`id` = `o`.`idfirme1` THEN `o`.`idfirme1` 
               END)

Probacu, a trenutno sam na tel.
Samo da pitam, da li ce kod boljih hosting provajdera, sa najboljim shared web hosting planom, bolje i brze da radi od ovog mog VPS, stelovao ga ja, ili neko profi?

probaj umjesto apachea instalirati nginx … dakle samo nginx bez apachea … kod mene osjetna razlika

Već (koji smatraš za najnoviji)?
Btw. 7.0 krajem novembra (tačnije prve sedmice decembra postaje obsolate).
Imaj 7.2 a u decembru (očekivano 12.) će 7.3 da bude/postane current version.

Trenutno je 5.6, a bio je pre njega 5.4
Za 7.2 sam znao da ima, ali nisam njega, jer bih morao da preradjujem sajt, a sad mi se to ne radi.
Mnogo su ga ubrzali nesto sa razvojem, steta :slight_smile:

To je baš staro.
Nisam radio na petici već godinu i po, čini mi se.
Sedmica ima return type koji baš koristim - ako zezneš nešto u kodu (lupiš neki nevezan return), vraća ti error (da te podsjeti šta metod mora da vrati).