A minap épp optimalizálásba kezdtem, és jelentősebben rátekintettem egy leendő webhely MySQL adatbázisára. Mivel a webhely még nem elérhető, nyugodt szívvel kizúztam minden teszt (devel generated) tartalmat és hozzászólást, a node, node_revisions, comment, files, stb. auto_increment azonosítókat visszaállítottam 1-re. Az nyilván a phpmyadmin baja, hogy a node_revisions tábla jelenlegi 0 rekordjára 291 kb-nyi tárhely foglalást mutat, de azt tapasztalom, hogy a batch tábla egyetlen rekordja 10M (tíz MEGA!!) tárhelyet foglal az adatbázisban. Legalábbis a phpmyadmin szerint. Nem nagyon találok érdemi információt arról, hogy miként lehetne ez a táblát emberi méretre redukálni.
A felmerülő kérdések:
- Egy batch folyamat (pl modul bekapcsolásakor a fordítások importálása, a langcheck modul batch módú futtatása, stb) után szükség van-e még valaha a táblában tárolt adatokra?
- Mi törli ezeket, és mikor?
- Mit tudok tenni kézzel?
Nagy a homály batch téren nálam, de azt hiszem, kicsit nonszensz az az 1 darab 10 megás rekord.
töröld
"Nagy a homály batch téren nálam, de azt hiszem, kicsit nonszensz az az 1 darab 10 megás rekord."
Az egy beragadt művelet lehet amit (talán pont a mérete miatt) nem tudott végrehajtani a PHP.
"Az nyilván a phpmyadmin baja, hogy a node_revisions tábla jelenlegi 0 rekordjára 291 kb-nyi tárhely foglalást mutat"
A phpmyadminban két oszlop van a méret és a felülírás. Valószínűleg a felülírás is 291kbnyi a táblában. Optimalizáld/javítsd a táblát és akkor jó lesz. A myIsam tábla helyfoglalása az olyan, hogy ha törölsz valamit akkor annak a fizikai helye megmarad és ha oda nem tud betenni semmit sem akkor az elveszett helyként ott figyel. (text mezők pl. tipikusan olyanok amit így tárol) Ha kiürül a tábla attól még ott vannak ezek az elveszett helyek. Ezen a tábla optimalizálása segít.
(jé egy weboldalt azt gondozni kell? :D)
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Kösz
Kizúztam. Nem a felülírás volt annyi, hanem a méret 0 rekord mellett, de optimalizálásra jó lett.