.NET in velika količina podatkov v bazi

V SQL (Firebird SQL) bazi imam 3 tabele: Product (podatki o izdelkih), Property (možne lastnosti izdelkov) in Product_Property (lastnosti posameznih izdelkov, vmesna tabela)

Trenutno skupaj sestavljam filter (.NET web forms), ki bo na podlagi izbranih lastnosti vrnil spisek izdelkov, ki ustreza kriteriju. Do te točke je vse fine and dandy.

Problem pa se pojavi pri scenariju, ko gre za ogromno bazo: cca 200k izdelkov (Product), 40k lastnosti (Property) in približno 8 mio lastnosti izdelkov (Product_Property). Samo filtriranje traja precej predolgo, če program že vmes ne odleti zaradi premalo pomnilnika.

Ima kdo kakšen namig, izkušnjo, karkoli kako se te zadeve lotit? Kot že rečeno, gre za FirebirdSql bazo, na katero se .NET aplikacija poveže s pomočjo Firebird.NET providerja.

Hvala!

p.s.: Ker gre za integracijo na obstoječ sistem, bilokakšna prekopavanja baze ne pridejo v poštev. Lahko se doda kakšna zadeva, obstoječih tabel pa se ne sme dotikat.

22 odgovorov

Ja se strinjam, da je zelo fajn. Največja prednost (vsaj meni) je to, da ni potrebe po XML-jih pri katerih nikoli nisem bil čisto prepričan ali sem prav nastavil ali ne. :) Lahko pa malo prebrskam po svojih projektih in najdem kakšnega, ki ni pretirano skrivnosten in ti pošljem kak paket kode.

Ne obljubim pa, da bo to danes oz. ta teden (je namreč vikend pred vrati). Začetek drugega tedna bi pa verjetno šlo, če si zainteresiran seveda. :)

Imaš ZS s kontakti, točno ta moment pa tudi ne gori voda - tako, da ko boš utegnil :)

In kot rečeno v ZSju, kakšno pivo ne uide - razen, če si geografsko res nekje, do kamor bi bilo težko prit. Bo pa poštar prinesel :)