Tema: Re: Pakonsultuokit apie MySQL
Autorius: Laimis
Data: 2010-07-15 17:08:35
NicMC rašė:
> Sveiki,
>
> Pribrendo reikalas kažkiek optimizuoti duombazę, nes jau pradeda
> kabintis į resursus. Taigi, turiu dvi lenteles po kelis laukus
> kiekvienoj. Nuotoliniai taškai ima po vieną įrašą, trina iš vienos
> lentelės, apdoroja ir krauna į kitą lentelę. Duomenys nedideli - pora
> varcharų (10 ir 200 ilgio) ir pora intų. Kadangi įrašų smarkiai
> padaugėjo (iki 400k pirmoj lentoj ir 1,2kk apdorotų duomenų lentoj)
> paprasti selektai "select * from table order by priority ASC, start_time
> ASC LIMIT 1" pradeda gruzint tą duombazę, CPU pradeda valgyt 50-100%
> (CPU ne stebuklas beje). Ką pasiūlytumėt pakeisti, kad kažkiek
> optimizuoti darbą? Išsiselektint viską, susortint ir sudėt atgal su
> griežta numeracija? Prikurt partitionų? Key'jų?
> Selectinti daugiau duomenų ir cachinti lokaliai - ne išeitis, tikrai
> reikia kad imtų po vieną eilutę, t.y. kad kitas nutolęs taškas gautų
> tiksliai sekančią eilutę. Tam tie nutolę taškai lokina teiblą. Gal dar
> ir čia problema?
> Kol kas neieškojau performanco stabdžių, tiesą sakant nelabai ir žinau
> kaip tą padaryt apart programinės įrangos modifikacijų ir stebėjimo
> rezultatų...

A, tai reiškia pas tave MySQL 3.xx? Ne...?

geležis, os, my.(ini|cnf) turinys, toliau:

ANALYZE TABLE 'lentelės';

SHOW TABLE STATUS:
http://dev.mysql.com/doc/refman/5.0/en/show-table-status.html

SHOW INDEXES FROM 'lentelės';
EXPLAIN 'užklausos';

dar toliau:
SHOW GLOBAL STATUS;
SHOW GLOBAL VARIABLES;

ir mysql terminale pagainiojus keletą lėčiausių užklausų keletą (3-5x) 
kartų:
SHOW SESSION STATUS;
SHOW SESSION VARIABLES;

Jei MySQL v5.0.37+, tai ir:
http://dev.mysql.com/doc/refman/5.0/en/show-profiles.html
3Dastronomyagricultureaudioautosautos.audiautos.audioautos.binariesautos.bmwautos.clubautos.fordautos.hondacrxautos.japanautos.mercedesautos.opelautos.sportautos.volvoautos.vwaviaavia.binariesbankcardsbinariesbooksbuildingcinemacommercecomp.hardwarecomp.softwarecomp.lietuvinimascomp.networksculturedarbas.ieskaudarbas.siulaudesigneconomicselectronicsfaunafauna.aquafauna.binariesfishingflorafotofoto.binariesgamesgames.csgames.onlinegsmgurmanaihumourhumour.binariesinternetlawmicrosoftmotomusicmusic.binariesmusic.instrumentsmusic.LT.binariesnavigacijaphppoliticsprogrammingrpgsportstudyingsveikatatalktesttranslationtransportationtraveltravel.binariestvunixvideovideo.binarieswatersportswwwwww.flashpdaautos.supermama.ltmobiledarbasretro.3Dretro.agricultureretro.astronomyretro.audioretro.autosretro.autos.audiretro.autos.audioretro.autos.binariesretro.autos.bmwretro.autos.clubretro.autos.fordretro.autos.hondacrxretro.autos.japanretro.autos.mercedesretro.autos.opelretro.autos.sportretro.autos.supermamaretro.autos.supermama.ltretro.autos.volvoretro.autos.vwretro.aviaretro.avia.binariesretro.bankcardsretro.beosretro.binariesretro.booksretro.buildingretro.cinemaretro.commerceretro.compretro.comp.hardwareretro.comp.lietuvinimasretro.comp.networksretro.comp.softwareretro.cultureretro.darbasretro.darbas.ieskauretro.darbas.siulauretro.designretro.economicsretro.electronicsretro.e-vejasretro.faunaretro.fauna.aquaretro.fauna.binariesretro.fishingretro.floraretro.fotoretro.foto.binariesretro.gamesretro.games.csretro.games.onlineretro.games.rpgretro.genealogijaretro.gsmretro.gurmanairetro.humourretro.humour.binariesretro.internetretro.YZFretro.YZF.nebukretro.YZF.nebuk.netikintisretro.YZF.nebuk.netikintis.bukretro.YZF.nebuk.netikintis.buk.tikintisretro.lawretro.microsoftretro.mobileretro.motoretro.musicretro.music.binariesretro.music.instrumentsretro.music.LTretro.music.LT.binariesretro.navigacijaretro.newsretro.news.taisyklesretro.newuserretro.pdaretro.phpretro.politicsretro.programmingretro.rpgretro.sportretro.studyingretro.sveikataretro.talkretro.translationretro.transportationretro.travelretro.travel.binariesretro.tvretro.unixretro.videoretro.video.binariesretro.watersportsretro.wwwretro.www.flashdiylt.rkm.news.announcelt.rkm.news.newuser