Optimizare de web - tips

PEAR, Smarty, ADOdb, OOP, PHP 5, XML, UML, Şabloane de proiectare, PHP-GTK.

Moderatori: coditza, Emil, Moderatori

Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Optimizare de web - tips

Mesajde vectorialpx » Lun Iun 14, 2010 7:19 pm

Probabil ca toti cei care ajung sa realizeze in site ceva mai mare au probleme de optimizare si de randare in browser. Cred ca ar fi util sa posteze fiecare chestii de care s-a lovit si solutiile gasite, atat server-side cat si client-side

O sa incep eu, cu ceea ce stiu, apoi scrieti si voi, fiecare ce stie.

1. (aste o stiu de la Yahoo!) E indicata folosirea a cat mai putine fisiere Javascript. Daca se poate, se integreaza toate fisierele intr-un singur "gigant", care ar trebui sa nu depaseasca 100K.

2. Niciodata nu se face resize cu GD on the fly (adica, la vizualizarea userului) cand e vorba de imagini mari sau cand e vorba de imagini multe (de fapt, e indicat sa se evite pe cat posibil). Solutia: se face resize la upload, intr-o eventuala sectiune de administrare, la anumite dimensiuni standard si pozele se vor lua ca fisiere de pe server, din folder-ul dimensiunii corespunzatoare.

3. Fisierele de tip CSS este indicat sa fie comprimate si, daca se poate, sa nu contina stiluri inutile. Adica, se poate face un CSS per template (per pagina), pentru a evita incarcarea de stiluri inutile.

4. Codul xHTML trebuie validat conform W3C (asta stie toata lumea) insa este indicat ca developer-ul sa "stoarca" totul din CSS si sa evite adaugarea de elemente inutile.

De exemplu: in loc de
<div class="margin15"> <div class="padding10"> </div> </div>
se poate scrie foarte corect
<div class="margin15 padding10"> </div>
SAU <div class="margin15_padding10"> </div>
unde margin15_padding10 are proprietatile cumulate ale celor doua clase
si sunt multe astfel de exemple

5. Este indicata separarea codului PHP de cel HTML. Adica, este mult mai rapid
<p>aici avem <?php echo $var ?></p> decat
<?php echo '<p>aici avem '.$var.'</p>' ?>

6. Este recomandata folosirea ghilimelelor simple, mai ales cand e vorba de cantitati mari de text. Ghilimelele duble au proprietatea de a interpreta (atat variabile cat si caractere si seturi de caractere speciale) insa au si proprietatea de a incetini.
// un cod de genul
$var1 = "$var2"; // este valid
// insa adaugam o mica bila de metal la piciorul limbajului
// si, de ce am scrie asa, cand
$var1 = $var2; // este mult mai rapid si mai usor

7. Este indicata evitarea lui require_once si include_once pe cat posibil. La ambele, inainte de a se face include/require se face verificarea in tot 'arborele de fisiere', daca fisierul nu a mai fost deja inclus. Asta adauga destul de mult la timp, mai ales daca proiectul este mare si bine-impartit.

In final

8. Exista anumite functii care ne dau posibilitatea sa optimizam codul foarte bine. De exemplu
echo $var1, $var2, $var3;
este mai rapid decat
echo $var1 . $var2 . $var3;
Un alt exemplu:
$var = array(1, 2, 3, 4, 5);
$var[] = 6;
// este mai rapid decat
array_push($var, 6);
si exemple de genul asta pot fi cu gramada si, desi par marunte, nu sunt deloc... important este sa nu mergem pe principiul "daca merge, e bine!"

Astept pareri competente, in speranta ca o sa ma perfectionez.

PS: as prefera sa evitam subiecte de genul "folosesc Zend Fw pentru ca e optimizat + exemple" si, sa ne axam pe limbajul pur.
Ultima oară modificat Mar Iun 15, 2010 5:38 pm de către vectorialpx, modificat 1 dată în total.



Avatar utilizator
kleampa
Senior Member
Mesaje: 2774
Membru din: Dum Iul 10, 2005 2:12 pm
Localitate: Bucuresti
Contact:

Mesajde kleampa » Lun Iun 14, 2010 7:29 pm

pentru js-uri si css-uri folosesc: http://code.google.com/p/minify/
pentru imagini la marimi diferite folosesc resize real time dar cu cache

in js si css incerc sa nu folosesc selectori prea generali ci incerc sa ma duc direct la "subiect"

referitor la optimizarea php, depinde de la caz la caz (in mare parte incerc sa optimizez query-urile, sa refolosesc informatia, sa nu fac cate o variabila pentru fiecare rahatel, sa nu fac bucle care sa preia o informatie de sine statatoare de fiecare data...)

in zonele unde chiar sunt nevoit sa trag o privire de ansamblu prin intreaga baza de date fac cache static la interval de x minute/ore in functie de importanta

Pirahna
Senior Member
Mesaje: 5985
Membru din: Dum Aug 22, 2004 2:04 am
Localitate: la birou
Contact:

Mesajde Pirahna » Lun Iun 14, 2010 7:30 pm

Cel mai evident si simplu de retinut ...


Cod: Selectaţi tot

if($var == 2)
$var2 = 15;
else
$var2 = 12;

optimizat e ...

$var2 = 12;
if($var == 2)
$var2 = 15;



Sunt foarte multe mici lucruri pe care poti sa le faci, cu care optimizezi microsecunde sau ocazional chiar milisecunde. Din pacate compilarea php nu e constanta ca viteza ...

Avatar utilizator
Digi
Average Member
Mesaje: 100
Membru din: Lun Mai 03, 2010 4:45 am
Localitate: Bucuresti
Contact:

Mesajde Digi » Lun Iun 14, 2010 9:30 pm

Interesant ! La mai multe :lol:

Punctul 5 din topic ma cam pune pe ganduri :roll:

Iar despre punctul 7 nici nu aveam habar, abia acum am citit cu atentie ce face functia, analieaza intregul script :lol:, credeam ca-i face doar un define in memorie cu numele fisierului sa nu-l reinclude again... <replacing all require_once() to require()...> :roll: :lol:

Restul le stiam, mai putin cea cu $var1, $var2, $var3 O.o
HGaming - Adunare pentru jocuri PC in retea

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Re: Optimizare de web - tips

Mesajde Birkoff » Lun Iun 14, 2010 10:33 pm

vectorialpx scrie:Probabil ca toti cei care ajung sa realizeze in site ceva mai mare au probleme de optimizare si de randare in browser. Cred ca ar fi util sa posteze fiecare chestii de care s-a lovit si solutiile gasite, atat server-side cat si client-side

O sa incep eu, cu ceea ce stiu, apoi scrieti si voi, fiecare ce stie.


am editat eu topicul tau si l-am trecut ca important ca e bine sa stie toti care intra pe aici despre el...

vectorialpx scrie:1. (aste o stiu de la Yahoo!) E indicata folosirea a cat mai putine fisiere Javascript. Daca se poate, se integreaza toate fisierele intr-un singur "gigant", care ar trebui sa nu depaseasca 100K.


completare:
niciodata nu incarcati continutul paginii sau meniurile principale din javascript, sau daca o faceti atunci sa faceti in asa fel incat continutul si meniurile sa poata fi accesate si cu javascript disable (sunt inca boti care nu pot prelua datele trimise prin js sau ajax)

vectorialpx scrie:2. Niciodata nu se face resize cu GD on the fly (adica, la vizualizarea userului) cand e vorba de imagini mari sau cand e vorba de imagini multe (de fapt, e indicat sa se evite pe cat posibil). Solutia: se face resize la upload, intr-o eventuala sectiune de administrare, la anumite dimensiuni standard si pozele se vor lua ca fisiere de pe server, din folder-ul dimensiunii corespunzatoare.


pe blogul oficial google scrie clar ca sa implementat in algoritmul lor si viteza de incarcare a unei pagini, deci daca o pagina are multe poze (dinamice sau nu) de dimensiuni mari (in biti) acea pagina se va incarca mai greu si din punct de vedere seo e un mare minus

vectorialpx scrie:3. Fisierele de tip CSS este indicat sa fie comprimate si, daca se poate, sa nu contina stiluri inutile. Adica, se poate face un CSS per template (per pagina), pentru a evita incarcarea de stiluri inutile.


recomand incarcarea dinamica a stilurilor, eventual impartit in 2 fisiere (css care reseteaza setarile browserului care se va incarca in toate paginile si css-ul pentru pagina curenta)

vectorialpx scrie:4. Codul xHTML trebuie validat conform W3C (asta stie toata lumea) insa este indicat ca developer-ul sa "stoarca" totul din CSS si sa evite adaugarea de elemente inutile.


si desigur chiar daca e valid w3c asta nu e tot, mai trebuie verificat si in cele 5 browsere majore (crome, opera, firefox, ie, safari) si pe diferite rezolutii (mai ales ca sunt milioane de gadgeturi de genul tabletpc, smartphone, netbook, notebook care au rezolutii ciudate si ar trebui sa se vada site-ul normal indiferent de rezolutie)
stiu eu cat injur eu developerii care nu se gandesc decat la o rezolutie cand merg pe net de pe smartphone sau de pe netbook (care are rezolutie 800x400 sau 600x400)
si chiar si asa, am nimerit multe site-uri care erau optimizate doar pentru ie si firefox iar cand intram din opera vedeam o dunga pe mijlocul ecranului si cate o litera pe rand (css invalid)

vectorialpx scrie:5. Este indicata separarea codului PHP de cel HTML. Adica, este mult mai rapid
<p>aici avem <?php echo $var ?></p> decat
<?php echo '<p>aici avem '.$var.'</p>' ?>


completare:
pe langa ce a spus vectorial, e bine sa ganditi un sistem de cache la site si sa evitati repetitiile in cod (adica daca aveti 4 interogari pe pagina nu faceti copy paste la 20 linii de cod care sa faca interogarea respectiva si sa extraga rezultatul pentru fiecare interogare in parte ci faceti si voi o functie pe care o apelati de 4 ori si tot e mai rapid...

vectorialpx scrie:6. Este recomandata folosirea ghilimelelor simple, mai ales cand e vorba de cantitati mari de text. Ghilimelele duble au proprietatea de a interpreta (atat variabile cat si caractere si seturi de caractere speciale) insa au si proprietatea de a incetini.


si evitati chestiile de genul

echo "<a href="link" title"blabla" si tot asa";

mi se pare cea mai mare tocanita de cod care o vad la codul scris de incepatori, cand e mult mai simplu si mai clar asa

echo '<a href="link" title="blabla" si tot asa';

vectorialpx scrie:7. Este indicata evitarea lui require_once si include_once pe cat posibil. La ambele, inainte de a se face include/require se face verificarea in tot 'arborele de fisiere', daca fisierul nu a mai fost deja inclus. Asta adauga destul de mult la timp, mai ales daca proiectul este mare si bine-impartit.


o chestie ce tine si de securitatea codului, creati un array cu toate fisierele existente pe server care ar putea fi incluse la un moment dat iar cand faceti o includere verificati daca fisierul cerut exista in acel array, daca nu exista nu incarcati nimic (ca poate se cere includere de pe alt server si ajungeti la atac RFI)
si desigur verificati tot ce intra prin GPC (get, post, cookie) nu le luati de bune ca nu sunt :)

referitor strict la optimizare SEO folositi urmatoarele metataguri in pagini

<base href="http://www.domeniultau.ro/" /> - folosit pentru a face legatura la fisierele apelate cu link-uri relative - am avut probleme in scripturi javascript si pana nu am bagat base nu am rezolvat problema...

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - mai ales la site-uri care folosesc diacritice, altfel botii pot avea probleme la citirea continutului

<meta name="language" content="ro" /> - specificati limba in care e scrisa pagina (mai ales daca aveti site multi language) asa botii stiu in ce limba sa indexeze acea pagina (ma mai trezesc la cautari cu pagini in italiana sau spaniola - daca acele pagini ar fi avut limba specificata nu ar mai fi aparut la o cautare in ro)

<link rel="canonical" href="http://www.tutoriale.far-php.ro/index.php?p=ce-trebuie-sa-stiti-inainte-sa-creati-un-site&amp;language=ro" /> - folositi meta canonical la pagini ca sa specificati botilor care e adresa originala a acelei pagini, mai ales cand aveti acelasi continut pe mai multe linkuri (astfel evitati ca botii sa interpreteze pagina ca pagina duplicat)
exemplu daca aveti 2 linkuri de genul

www.site.ro/pagina1/

si

www.site.ro/pagina1/variabila/

care ambele au acelasi continut dar difera prin link, botii vor zice ca una din ele e pagina duplicat si va scadea valoarea seo a acelei pagini... pe cand daca specificati canonical adresa reala a pagini, botii vor stii ca chiar daca pagina e accesata prin 3 linkuri diferite e aceeasi pagina cu linkul cutare si nu va mai aparea la duplicate...

folositi in pagina tagurile specifice pentru seo, adica titlurile in h1-h6, cuvintele cheie facute bold (strong) alte cuvinte relevante pentru pagina bagate in em, i, u etc...
de asemenea specificati title la linkuri e foarte important pentru seo acelei pagini
exemplu

a href="link" title="descriere importanta seo pentru acea pagina"


de asemenea la formulare, folositi atributul label for="id cutare" pentru fiecare camp din formular (e bun la seo si e bun si la ergonomia acelui formular, pentru ca nu mai fortezi userul sa apase pe campul respectiv, e de ajuns sa apese pe text-ul ce apartine de acel camp)

tot pentru ergonomie, incercati sa folositi si atributul accesskey...

cateva linkuri utile pentru verificarea site-ului din punct de vedere seo

http://www.woorank.com/ - va face o analiza detaliata a paginii si va recomanda ce mai aveti de facut la el

http://www.websiteoptimization.com/services/analyze/ - introduceti linkul pagini pe care doriti sa o analizati si va va genera un raport privind timpul de incarcare, dimensiunea imaginilor si recomandari in ce priveste acea pagina. ( e bine sa tineti cont de acele recomandari)

exista tone de linkuri cu diverse recomandari, dar astea 2 pe termen lung s-au dovedit cele mai utile.
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

Avatar utilizator
Digi
Average Member
Mesaje: 100
Membru din: Lun Mai 03, 2010 4:45 am
Localitate: Bucuresti
Contact:

Mesajde Digi » Mar Iun 15, 2010 11:24 am

Hmm, in legatura cu punctul 5 (iar :roll: ) si completarea lui birkoff...

Ce efect ar avea daca as folosi o singura variabila sa stochez constant tot outputul si pe urma sa-l printez odata ce scriptul a terminat ?
HGaming - Adunare pentru jocuri PC in retea

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Mar Iun 15, 2010 1:53 pm

Digi scrie:Hmm, in legatura cu punctul 5 (iar :roll: ) si completarea lui birkoff...

Ce efect ar avea daca as folosi o singura variabila sa stochez constant tot outputul si pe urma sa-l printez odata ce scriptul a terminat ?


ideea e asa, daca in script ai mereu <?php ... ?> cod html.. <?php alt cod php ?> alt cod html etc...
atunci interpretorul php o sa lucreze putin mai incet deoarece treburile merg in felul umrator:
browserul cere la serverul apache pagina, apache preia pagina de pe hdd si incepe sa o proceseze si da de tagurile php si trimite bucata la interpretorul php... el o ia o prelucreaza daca da de ceva mysql trimite cererea la mysql si asteapta rezultatul, apoi continua si cand a terminat bucatica trimite rezultatul inapoi la apache... serverul apache continua de procesat pagina si daca iar da de tag php iar trimite bucata la interpretor si tot asa se face un dute vino intre apache - php - mysql pana se termina de procesat pagina si abia apoi se trimite rezultatul la browser...

pe cand daca codul e bine gandit se ruleaza totul odata din interpretor, se cer datele de la mysql se prelucreaza si se trimite la finalul scriptului outputul la apache care il preia si il trimite direct la browser, castigand astfel timp in procesare (si eliberand astfel si serverul de procesari inutile)

implementand si un sistem de cache, browserul face cererea la apache, apache trimite pagina la interpretorul php, acolo interpretorul cauta sa vada daca exista deja pagina in cache si daca e o trimite pe aia direct la apache (nu mai sta sa ruleze iar toate instructiunle si interogarile mysql) si se castiga astfel si mai mult timp.

acum ca intelegi cam cum fucntioneaza treaba, gandeste-te cum e cel mai bine sa implementezi sistemul... (eu am o variabila de tip array in care stochez ce vreau sa se afiseze si la final generez pagina din template punand in el acolo unde e nevoie valorile din array - un tutorial despre asta am scris aici cum se face un template engine simplu)
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

Avatar utilizator
Digi
Average Member
Mesaje: 100
Membru din: Lun Mai 03, 2010 4:45 am
Localitate: Bucuresti
Contact:

Mesajde Digi » Mar Iun 15, 2010 2:38 pm

Yeah, faza cu extra procesare daca tot deschizi si inchizi tagurile php am aflat-o si eu pe-atunci... dar nici atunci nu foloseam aia, foloseam echo la greu :lol: pe urma am aflat de output buffer functions... dar pe urma testand niste scripturi php (jocuri, trackere, etc, cautam mereu exemple sa testez si sa vad cum sunt facute) am observat ca pe unele configuratii pot distruge intregul site si trebuie practic refacut... dar $var .= 'extra html'; $var .= 'mooooooooooooore html'; print($var); (foarte minuscul exemplu) n-are cum sa fail :lol:

Totusi, eu nu am cum sa fac total page cache, deoarece meniul si continutul trebuie mai mereu updatat... si nu prea am cum sa verific daca pagina poate fi updatata ca asta ar insemna sa fac aceleasi procesari PLUS procesarile de extras pagina din cache, deci n-are rost.

Iar paginile care sunt statice oricum sunt cached in pagina respectiva, ca doar le adaug in variabila si parerea mea e ca ar merge mai bine asa decat sa le extrag din alt fisier ca pe urma sa le bag in aceeasi variabila ca pe urma sa printez odata cu intregul site =)

Oricum, ms de info :P la mai multe astfel de tips :roll:

EDIT: defapt as avea si eu unul ca vad ca nu a fost specificat...

get_magic_quotes_gpc(), mereu trebuie verificata inainte de procesarea la $_GET, $_POST si $_COOKIE.. pentru ca ala adauga automat slashuri la valorile acelor variabile, si daca adaugi si tu lucrezi pe o configuratie unde nu e aia, adaugi manual addslashes() si pe urma urci pe o configuratie unde are, atunci iese urat :lol:
I learned that the hard way :roll: inca mai am prostii prin site care-mi functioneaza aiurea din cauza ca nu aveam idee de ce imi baga slashes *uneori* :lol:

Also, chestia este invechita, verificati-o si inversati efectele doar daca e on, nu va bazati pe ea !

More info: http://www.php.net/manual/en/info.confi ... quotes-gpc

Vad ca e si magic_quotes_runtime 8O care iti aiureste mult mai multe chestii :lol: doar ca ala poate fi disabled in script :} cu set_magic_quotes_runtime()
HGaming - Adunare pentru jocuri PC in retea

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Mar Iun 15, 2010 3:00 pm

pentru ce a zis Digi referitor la get_magic_quotes_gpc eu am asa

Cod: Selectaţi tot

// Fix input variables
if (get_magic_quotes_gpc())
{
   $_GET = array_map('stripslashes', $_GET);
   $_POST = array_map('stripslashes', $_POST);
   $_COOKIE = array_map('stripslashes', $_COOKIE);
}


si asta imi corecteaza automat problema daca valoarea e pe ON...

iar la mysql am asa

Cod: Selectaţi tot

/*
 * functia mysql pentru prepararea datelor inainte de utilizarea in bd
 *
 * @param array/string $info
 *
 * @return array/string $info
 */
function sql_real_escape_data($info)
{
   
   if ( is_array($info) && count($info) )
      $info = array_map('mysql_real_escape_string', $info);
   else
      $info = mysql_real_escape_string($info);
   
   return $info;
}


la functia asta pot pasa un array cu date sau un string si imi face mysql_real_escape_string pe fiecare valoare a array-ului sau pe string si imi returneaza acelasi array sau string gata de folosit in mysql
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Mesajde vectorialpx » Mar Iun 15, 2010 4:22 pm

da, adevarul e ca referitor la punctul 5, lucrurile sunt mai complicate de atat. Adica, nu trebuie exagerat cu secventele de <?php ?> HTML dar m-am referit la blocuri mari de text, in sensul ca daca ai o pagina de termeni si conditii, e indicat sa nu-i faci echo si s-o lasi in HTML-ul ei (daca se poate, evident).

Oricum, asta e una dintre problemele care ocupa destul de putin timp, mai ales daca e vorba de texte mici. Adica, de obicei, ia mult mai mult requestul catre MySql decat un echo

Ca tot veni vorba:

9. Este indicata optimizarea bazei de date inca de la proiectare:
- de ales engine-ul corect pentru fiecare tabela
- de stabilit campuri cat mai putine si cu dimensiuni cat mai mici posibile
(de exemplu, nu se pune varchar(255) pentru un numar de telefon)
(sau, nu se face tabela cu 50 de campuri)
- de profitat cat mai mult de facilitatile relationarii tabelelor
- de adaugat indecsi oriunde se poate (trebuie citit inainte, pentru ca adaugarea de indecsi poate sa si incetineasca tabelul)
si, mai sunt si altele...

Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Mesajde vectorialpx » Lun Iul 05, 2010 11:49 pm

10. Mi-am mai adus aminte de ceva :)
Cand se doreste stocarea unui numar mare de fisiere [se stie acest lucru de la inceput] este recomandat sa se faca o impartire pe directoare [dupa data, dupa litere etc] pentru ca la un moment dat, de la 80-100 de mii de fisiere in folder, se misca greu. Chiar si sistemele bune de UNIX au probleme cu viteza la citirea unui astfel de sistem de fisiere.

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Mesajde Birkoff » Mar Iul 06, 2010 12:05 am

da, si cu ocazia asta mi-am adus si eu aminte de o patanie...

cand uploadati poze pe server si doriti sa le modificati cu ajutorul scripturilor php asigurati-va ca aveti destula memorie disponibila pentru aceste operatii altfel crapa scriptul...

ideea e ca o poza cu o dimensiune a fisierului de 100kb poate ocupa in memorie chiar si 32 mb (sau si mai mult, depinde de rezolutie si nr de culori folosite) deci pe de o parte ocupa si scriptul php din memorie + poza originala + poza prelucrata...
deci aveti grija sa mai eliberati din memorie si sa nu ocupati resursele inutil...


de asemenea si la interogari sql, asigurati-va ca nu va returneaza 2gb de date in urma unei interogari (pentru ca iar inseamna ca va crapa scriptul si ocupa memorie inutila) stiu asta e chestie de incepator da e bine de stiut...
cei mai multi incepatori folosesc un SELECT * FROM tabel si atat nu pun o limita sau ceva... si pe moment scriptul le merge ok cat timp baza de date e goala dar dupa o vreme se intreaba de ce le pica asa des site-ul...
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

Bamselu
Average Member
Mesaje: 55
Membru din: Mie Oct 29, 2008 11:13 pm
Localitate: Bucuresti
Contact:

Mesajde Bamselu » Joi Iul 08, 2010 1:40 am

vectorialpx scrie:- de adaugat indecsi oriunde se poate (trebuie citit inainte, pentru ca adaugarea de indecsi poate sa si incetineasca tabelul)
si, mai sunt si altele...


Indecsi sunt re-creati la fiecare update / insert pe baza de date si aici poti spune ca e o incetinire daca ai multi indecsi. Pt select sunt numa buni, daca sunt si folositori.

The "downside" marimea bazei creste ..sa zicem odata cu numarul de indecsi setati.

Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

Mesajde vectorialpx » Joi Iul 08, 2010 12:39 pm

Bamselu scrie:
vectorialpx scrie:- de adaugat indecsi oriunde se poate (trebuie citit inainte, pentru ca adaugarea de indecsi poate sa si incetineasca tabelul)
si, mai sunt si altele...


Indecsi sunt re-creati la fiecare update / insert pe baza de date si aici poti spune ca e o incetinire daca ai multi indecsi. Pt select sunt numa buni, daca sunt si folositori.

The "downside" marimea bazei creste ..sa zicem odata cu numarul de indecsi setati.


citeste tot, nu citi doar ce-ti convine ;)

Bamselu
Average Member
Mesaje: 55
Membru din: Mie Oct 29, 2008 11:13 pm
Localitate: Bucuresti
Contact:

Mesajde Bamselu » Joi Iul 08, 2010 2:13 pm

vectorialpx scrie:citeste tot, nu citi doar ce-ti convine ;)


Am citit, si nu te-am contrazis, am facut o completare.


Înapoi la “PHP Avansat”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 34 vizitatori