Cum ne curatam baza de date ?
Problema e destul de simplu de explicat : sa zicem ca adaugam 50 de articole de cite 2-3-5 MB bucata in wordpress. Ca asa avem noi chef.
Cum wordpress obisnuieste sa salveze "revizii" ale articolelor, vom avea fiecare chestie salvata si de cite 2-3-5 ori, vorba ceea, sa fie. Nu-i ca si cum resursele sunt limitate pe lumea asta. Moment in care, luind asa estimativ niste medii, 3 Mb x 3 exemplare x 50 bucati = 450 MB.
Problem ? Pai depinde. Precum probabil ati observat serverele mele n-au ciriit, Trilema servindu-se in continuare fara mari probleme. Apropo de care chestie :
Mnoa, lasind la o parte ca "serveru' mediu" nu-i capabil sa sustina GBps ore in sir (ati vazut ce lejer livra pagini, apropo ? tucu-le tati pe ele de mumoase si daastepte), ramine problema ca daca incerci sa rulezi un shared cu juma' de giga-n mysql ai bune sanse sa n-ai nici o sansa.
Ce-i de facut ?
Una dintre solutii ar fi sa curatati baza de date de "revisions", acele versiuni mai vechi ale articolelor publicate, salvate ca sa fie. Chestia asta se realizeaza destul de simplu, din PhpMyAdmin. Introduceti in cutiuta de-i zice SQL urmatoarea dispozitie :
DELETE a,b,c FROM prefix_posts a
LEFT JOIN prefix_term_relationships b ON ( a.ID = b.object_id)
LEFT JOIN prefix_postmeta c ON ( a.ID = c.post_id )
LEFT JOIN prefix_term_taxonomy d ON ( b.term_taxonomy_id = d.term_taxonomy_id)
WHERE a.post_type = 'revision' AND d.taxonomy != 'link_category';
inlocuind bineinteles "prefix_" cu prefixul folosit de instalarea dvs. (in general, "wp_").
Ce face chestia asta ? Pai, sterge toate articolele care-s revizii, precum si toate mentiunile referitoare la ele (si numai la ele) din alte tabele in care wordpress isi tine matele.
Dupa care
Pai ca din tabela cu articole am scapat de 100Mb, adica aproximativ jumatate, si din tabela cu taxonomie de inca vreo suta sau asa de kb, diverse rahaturi si mizerii. Moment la care dam un "select all tables with overhead" si apoi "with selection optimize table". Chestia asta prinde bine din cind in cind oricum, e un fel de defrag pentru mysql, sa zicem asa.
Inainte de-a sari careva expert cu intrebari ca de ce-am scris chestia asta, ca cum imi permit io sa scriu chestii la mine pe blog si-asa mai departe, precizez c-am scris-o ca sa nu mai trebuiasca sa compun query-ul data viitoare cind am nevoie de el, ci sa-l iau pur si simplu cu copy/paste. Ceea ce va doresc si dumneavoastra.
Friday, 8 July 2011
Ai curatat toata luna iulie, adica nu mai apar posturile aici http://trilema.com/2011/7/
Friday, 8 July 2011
Ah, de fapt, ai curatat tot :)
Friday, 8 July 2011
Adica ?
Friday, 8 July 2011
Aia moare in chinuri, mi-o atras atentia inca x persoane, e in proces de reparare. N-are legatura cu chestia asta, are legatura cu faptu' ca am prea multe articole si le sortez ineficient in archive.php
Friday, 8 July 2011
si daca scoti reviziile, unde punem baia? pai baia-i baie, nu incape in calorifer.
o molid frumos, o molid frumos.
Friday, 8 July 2011
Hahahaha.
Molift, buei.
Friday, 8 July 2011
Pey mah, arhiva aia este modul in care iti folosesc luserii site-ul, ca daca dai click altundeva iti ia credite.
Friday, 8 July 2011
da' explica domle ce-i cu left join-ul ala sa inteleaga tot omu'...
Friday, 8 July 2011
@gheorghe Stai buei c-o dreg acuma. E facuta *TEMBEL* de catre automattic, in sensu' ca orice cerere catre arhiva aduce din mysql tot continutul tuturor articolelor. Si cum eu in luna iunie am jdemega continut, moare scriptu' ca-si intrece limita de memorie.
M-am apucat sa rescriu chestia sa lucreze corect, va fi gata mintenas si public si rezultatele, bine ?
@f Pai join e o comparatie de indecsi, practic asta-i marele avantaj al unui sistem sql, ca-ti permite sa faci din doua (sau oricite tabele) una singura. Vezi aici de ex.
Pe scurt spus, identifica in alte tabele elementele corespondente unui set de elemente alese dintr-o tabela anumita, si le da omoru'.
Friday, 8 July 2011
cît iti cantareste tot blogul?
Friday, 8 July 2011
lulwut, de ce ar aduce conţinutul articolelor dacă tu afişezi doar titles fără excerpts?
Friday, 8 July 2011
@Critic Acum in jur de 120mb, precum vezi.
@dAImon Pentru ca-i gindit cu curu', si pentru ca 4kb ar trebui sa fie suficienti pentru oricine, si asa mai departe. Cica code is poetry da-le-as gauri in chip...
Intre timp l-am reparat, archive.php functioneaza din nou. Si cu un drum am mai redus consumul de energie electrica al civilizatiei umane cu niste kw acolo.
Friday, 8 July 2011
bun da asta face un plugin gen wp_optimise de ani buni ..tu nu ti-ai facut timp de 3 ani curatenie in baza de date si descoperi acum ca-i util ?
Friday, 8 July 2011
Eu nu folosesc pluginuri, si sunt lenes. Moar questions ?
Friday, 8 July 2011
Mnoa, arhivele dupa luni si dupa categorii fura reparate. Traiasca!
Saturday, 9 July 2011
arhiva pe ani nu
http://polimedia.us/dtng/c/src/131016304128.jpg
sau asta-i de aia not a bug but a feature?
Saturday, 9 July 2011
Sincer acuma nu cred ca are sens/utilitate arhiva pe ani. La ce sa te uiti la o mie de de-astea, cu ce-ti ajuta ?
Saturday, 9 July 2011
cautare in-page dupa titlu in loc sa dau pe google, spre exemplu.
poti gasi motive daca te apuci sa cauti.
Saturday, 9 July 2011
Hm. Mbine, hai sa zic ca implementez, doara ce ma costa ?
Saturday, 9 July 2011
Done.
Saturday, 9 July 2011
si unde e?
Saturday, 9 July 2011
Not for newfagz.
Saturday, 9 July 2011
eu intelesesem o casuta de search pe aici pe undeva,imi scapa ceva? cache?
Saturday, 9 July 2011
http://trilema.com/2009/cautare-pe-blog/
Semneaza de luare la cunostiinta.
Saturday, 9 July 2011
gtfo