JHacks
[ start | index | login or register ]
topics > wtf > oracle relaciok

oracle relaciok

Created by kocka. Last edited by kocka, one year and 60 days ago. Viewed 114 times. #1
[edit] [rdf]
labels
attachments

Mese a gonosz N-N kapcsolatokról

Ez a mese még az Oracle 8i korából származik, a régi szép idők ugye :). Egy nagyon nagy terhelésnek kitett alkalmazást fejlesztettünk, amit néhány random helyen izmosan optimalizáltunk, más helyeken (például az architektúra terv) inkáb hanyagoltunk.

Egy ilyen eset volt az, hogy egy komponens programozója bitsorozatban reprezentálta azt hogy egy akármi milyen kategóriákba tartozik, így tényleg villámgyorsan, egy címezéssel, egy shifteléssel és egy XOR művelettel kiderült hogy abba a kategóriába bele tartozik-e. Végülis...

A bug ott tette be a lábát, amikor valaki kitalálta hogy ha már ezt a felhasználó program így reprezentálja, akkor az N-N kapcsolótábla nélkül, az akármi relációban, egy bitstringben tároljuk le. A következő atom hiba azt én követtem el, hogy a specifikációt átvettem és azt mondtam hogy oké, annélkül hogy figyelmesen elolvastam volna. Aztán meg már hiába mérgelődtem, jót röhögek hogy jól megszivattak. Az oracle-s öregszakival vagy egy hetet izzadtunk a dolgon mire normálisan ment minden lekérdezés és módosítás. Az eredmény: valami félelmetesen lassú lett minden select, új kategória létrehozása horror, amit idáig lehetett indexekkel babrálni, annak itt vége lett és PL/SQL kóddal derült csak ki hogy vajon az akármi passzol-e egy kategóriába.

A dolgot később belátta a management is, és akkor mondták hogy na jó, átírhatjátok, csak akkor már nem akartuk.

no comments | post comment
snipsnap.org | Copyright 2000-2002 Matthias L. Jugel and Stephan J. Schmidt