[ delalt @ 16.06.2006. 11:04 ] @
Ne bi bilo loše malo diskutovati i o brzini Firebirda, šta sve utiče na brzinu izvršavanja SQL upita, i kako što bolje riješiti ove probleme. Znam da se ove stvari rješavaju drugačije od slučaja do slučaja, ali postoje i neke generalne stvari koje vrijede gotovo uvijek. Najprostiji primjer je kad nije kreiran index po nekoj koloni koja se koristi u JOIN-u. Takav upit (u zavisnosti od broja zapisa) može da traje satima, izgleda kao da se neće ni izvršiti i zauzima dosta resursa. Ne mijenjajući upit (koji je u principu i dobar) i samo prostim kreiranjem index-a po toj koloni, rezultati se drastično mijenjaju i upit se izvršava veoma brzo (u par sekundi ili minuta, opet zavisno od broja zapisa). Razlog ovome je što Firebird ne kreira automatski index-e, već ih samo koristi ako već postoje. Ovo, čini mi se, vrijedi i za Firebird 2.0 iako se napominje da je brži u radu od verzije 1.5. Evo jedan link koji govori o optimizaciji, korištenju PLAN-a... http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_quep E, sad, vaša iskustva, gdje ste najviše dobili na brzini (bilo kako, npr. koristeći druge komponente za rad sa Firebird-om, koliko utiče korištenje UDF, na šta treba najviše obratiti pažnju kod samog dizajna baze...). Naravno, ako neko zna kakve dobre knjige, tutorijale i primjere za optimizaciju upita, u elektronskom formatu, slobodno neka da linkove. ![]() |