tutoriale photoshop, brushes, patterns, gradient
Site afiliat proiectului Wtricks.com
   
   
  REGULAMENT | Search | Members | Calendar | Help  
 


Post Reply  Post Thread 
Optimizare automata a tabelelor
Author Message
Agkelos
Designer experimentat
*******


Posts: 603
Group: Registered
Joined: Apr 2007
Status: Offline
Reputation: 11
Lei: 2591.56
Post: #1
Cool  Optimizare automata a tabelelor

Cand aveti un site mare care lucreaza intens cu baze de date se intampla ca la un moment dat sa va mearga din ce in ce mai greu, query-urile sa necesite mai mult timp. Cand se creaza inregistrari intr-un tabel din baza de date se aloca un spatiu pentru informatia stocata. Cand se sterg inregistrarile raman spatii libere, zone in baza de date care sunt ocupate de “nimic”, care nu sunt folositoare. Ca sa fie mai usor de inteles, se poate face comparatie cu fragmentarea discurilor. Ceva asemanator se intampla si aici. Ramane informatia “rasfirata” pe disc rezultand o baza de date nejustificat de mare. Numele dat acelui spatiu e “Overhead” - spatiu depasit. In phpMyAdmin puteti vedea asta cand deschideti o baza de date. Un exemplu aveti mai jos:



Exemplul e destul de “anemic”. Cum imi optimizez tot timpul tabelele am gasit doar un overhead de 20B Big Grin

OK, am inteles ca asta e o problema. In timp se mareste baza de date, creste timpul de procesare, in cazuri mai nasoale (baze de date mari) se poate intampla sa clacheze serverul si sa corupa unele fisiere. Intrebarea cea mare: “Cum rezolvam problema ?”. MySQL (de fapt, majoritatea serverelor web) suporta instructiunea OPTIMIZE care nu face altceva decat sa elimine overheadul din tabele. Instructiunea se foloseste in felul urmator:
OPTIMIZE TABLE `tabel`

Bun. Acum stiti ce aveti de facut ca sa va pastrati o baza de date cu tabele optimizate. Problema e ca la site-urile cu trafic mare si query-uri multe apare overhead mare si destul de rapid. Asta inseamna ca o data la cateva zile ar trebui sa va faceti timp pentru optimizare sau… daca sunteti mai lenesi (cum e, de exemplu, autorul acestui articol) faceti un script care sa faca toata treaba. Scriptul arata cam asa:
<?php
        $link = mysql_connect(‘localhost’,‘user’,‘parola’ ) or die();
        mysql_select_db(‘database’) or die();
      
        $result = mysql_query(‘SHOW TABLES;’,$link);
        while($row = mysql_fetch_array($result,MYSQL_NUM) )
                @mysql_query(‘OPTIMIZE TABLE `’.$row[0].‘`;’,$link);
        echo “Optimization finished”;
?>

Ce face scriptul ? Face o lista cu toate tabelele iar apoi le optimizeaza pe rand. Optional se pot face filtre sa se optimizeze doar unele tabele. Eu am pus script-ul in cron si ruleaza zilnic la o ora la care traficul e mic, deci tabelele sunt tot timpul in forma maxima Big Grin


IPFind :: LAMP :: NoIndex
04-13-2007 08:00 PM
Visit this users website Find all posts by this user Quote this message in a reply
Shumi
De al casei
***


Posts: 91
Group: Registered
Joined: Mar 2007
Status: Offline
Reputation: 0
Lei: 281.41
Post: #2
RE: Optimizare automata a tabelelor

Superb, exact ceea ce aveam nevoie, mersi mult.


Tuning Club ROmania | Forum Tuning Club ROmania | Galerie Tuning Club ROmania
04-14-2007 03:48 AM
Visit this users website Find all posts by this user Quote this message in a reply
carol
Membru
**


Posts: 43
Group: Registered
Joined: Apr 2007
Status: Offline
Reputation: 0
Lei: 189
Post: #3
RE: Optimizare automata a tabelelor

util doar dacă rulează în cron , în rest nu faci decât să îţi complici munca .


* Living my own reality , Designing yours *

* 127.0.0.1Â Â - The best place in the world *
09-05-2007 11:03 PM
Find all posts by this user Quote this message in a reply
Grim_Cris
Super Moderator
******


Posts: 1,259
Group: Super Moderators
Joined: Jun 2007
Status: Offline
Reputation: 8
Lei: 2640.93
Post: #4
RE: Optimizare automata a tabelelor

explicaţi-mi şi mie unde se pune scriptul ăsta? ce e ăla cron? cum îl fac să ruleze singur? cron-ul face asta?


Grim_Cris va prezinta:
Blogul lui Grim_Cris | PRDirector | Shiny Hair
10-28-2007 02:30 AM
Visit this users website Find all posts by this user Quote this message in a reply
Agkelos
Designer experimentat
*******


Posts: 603
Group: Registered
Joined: Apr 2007
Status: Offline
Reputation: 11
Lei: 2591.56
Post: #5
RE: Optimizare automata a tabelelor

Grim_Cris Wrote:
explicaţi-mi şi mie unde se pune scriptul ăsta? ce e ăla cron? cum îl fac să ruleze singur? cron-ul face asta?


Cel mai simplu e sa faci o pagina optimizare.php si apoi din cron apelezi http://www.siteultau.ro/optimizare.php. Cron-ul e usor de setat, dar depinde de ce ai la dispozitie. Daca ai un host cu cPanel, trebuie sa ai jos de tot "cron jobs". Acolo ii dai sa ruleze o data pe zi (sau mai rar daca nu ai un site solicitat) comanda: wget http://www.siteultau.ro/optimizare.php.


IPFind :: LAMP :: NoIndex
10-29-2007 07:58 PM
Visit this users website Find all posts by this user Quote this message in a reply
Grim_Cris
Super Moderator
******


Posts: 1,259
Group: Super Moderators
Joined: Jun 2007
Status: Offline
Reputation: 8
Lei: 2640.93
Post: #6
RE: Optimizare automata a tabelelor

bun...merci de explicaţie...dar(există şi un dar) am încercat http://www.siteulmeu.ro/optimizare.php şi-mi apare următoarea eroare:

Code:
Parse error: syntax error, unexpected T_STRING in /home/decodari/public_html/optimizare.php on line 5

în linia 5 ar fi cam asta:

Code:
$result = mysql_query(‘SHOW TABLES;’,$link);


Ce-aş putea face să rezolv problema?


Grim_Cris va prezinta:
Blogul lui Grim_Cris | PRDirector | Shiny Hair
10-30-2007 02:44 AM
Visit this users website Find all posts by this user Quote this message in a reply
Shumi
De al casei
***


Posts: 91
Group: Registered
Joined: Mar 2007
Status: Offline
Reputation: 0
Lei: 281.41
Post: #7
RE: Optimizare automata a tabelelor

Scoate ; dupa SHOW TABLES.


Tuning Club ROmania | Forum Tuning Club ROmania | Galerie Tuning Club ROmania
10-30-2007 07:49 AM
Visit this users website Find all posts by this user Quote this message in a reply
Grim_Cris
Super Moderator
******


Posts: 1,259
Group: Super Moderators
Joined: Jun 2007
Status: Offline
Reputation: 8
Lei: 2640.93
Post: #8
RE: Optimizare automata a tabelelor

tot aia e Sad


Grim_Cris va prezinta:
Blogul lui Grim_Cris | PRDirector | Shiny Hair
10-30-2007 07:35 PM
Visit this users website Find all posts by this user Quote this message in a reply
Agkelos
Designer experimentat
*******


Posts: 603
Group: Registered
Joined: Apr 2007
Status: Offline
Reputation: 11
Lei: 2591.56
Post: #9
RE: Optimizare automata a tabelelor

E greseala mea aici. Cand am postat tutorialul am dat copy/paste de pe blog si cum wordpress are prostul obicei sa inlocuiasca ghilimelele cu apostroafe, asa am postat si aici. Pune ghilimele simple ( ' ) peste tot si iti va merge fara probleme (sper).


IPFind :: LAMP :: NoIndex
10-30-2007 08:24 PM
Visit this users website Find all posts by this user Quote this message in a reply
Grim_Cris
Super Moderator
******


Posts: 1,259
Group: Super Moderators
Joined: Jun 2007
Status: Offline
Reputation: 8
Lei: 2640.93
Post: #10
RE: Optimizare automata a tabelelor

a mers...Mulţumesc! Smile


Grim_Cris va prezinta:
Blogul lui Grim_Cris | PRDirector | Shiny Hair
10-31-2007 02:36 AM
Visit this users website Find all posts by this user Quote this message in a reply
Post Reply  Post Thread 

View a Printable Version
Send this Thread to a Friend
Subscribe to this Thread | Add Thread to Favorites

Forum Jump:

 

 Invatam Net
Esti nou pe aici? Vorbeste-ne despre tine.
Citeste articole si tutoriale unice.
Ai un site? Iti putem oferi un review.

  Parteneri

  


-->