Tema: Re: Need nuomonės iš šono - DB
Autorius: Laimis
Data: 2011-12-08 21:59:47
2x50 rašė:
> :) wow, genialu
>
> SELECT * FROM `table` ORDER BY ID ASC LIMIT 1
>
> problema yra sitam sakiny. Speju, kad migravus i InnoDB bus tas pats, o
> pridejus set transaction isolation level serializable bus katastrofa.

Nevisai. Problema yra iš esmės FIFO uždavinyje, o jam realizuoti 
SERIALIZABLE tinka. Katastrofa nenusimato dėl labai paprastos 
priežasties: pasikeis tik variklis, o veikimo principas liktų nepakitęs.
Net beveik neabejotinai nusimato paspartėjimas, nes InnoDB dirba 
efektyviau (tiek multi-core/multi-threaded, tiek sisteminiai dalykai: 
indeksai, rakinimas ir aibė kitų dalykų):
http://www.oracle.com/partners/en/knowledge-zone/mysql-5-5-innodb-myisam-522945.pdf



> Sitas sakinys efektyviai uztikrina, kad tuo paciu metu gali buti
> apdorojamas vienas ir tik vienas irasas. Idejus transakcijas (bet koks
> isolation level), transakcijos lygiai taip pat bus vykdomos po viena,
> todel kad visos transakcijos, kurios nores tuo paciu metu gauti
> duomenis, bandys gauti ta pati irasa. O serializable atveju pirma
> pasibaigs, o visos likusios, speju, gaus exceptiona - row does not exist
> arba cannot serialize transaction arba kazka panasaus, nes irasas, kurio
> jos visos laukia, jau nebeegzistuoja, ji istrins pirmoji transakcija...

Na, reikėtų nepamiršti, kaip ir kam tas serializable užtikrinamas... ;-)
O užtikrinamas lock'ais (taip, kad kitos transakcijos tiesiog lūkuriuos 
eilutėje; čia, suprantama, tada, kai rakinamas jau skaitymas).
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