| .NET in velika količina podatkov v bazi | ||
|---|---|---|
|
blackmamba
23. jan 2014 12:30:22
Pridružen od: 4. mar 2008 559 objav 392 25 11 |
#11
Pomojem je problem, ker potrbuješ pri branju iz tabele Product_Property za vsako izbrano lastnost dodaten join. Verjetno se zadeva upočasni šele, ko je izbranih več lastnosti ali že pri prvi? Baje ima Firebird "PLAN analyzer", ki deluje podobno kot EXPLAIN v mysqlu. |
|
|
technolog
23. jan 2014 16:15:18
Pridružen od: 14. nov 2011 598 objav 768 300 22 |
Z linuxom že 7 let. Pro web development.
|
|
|
Spartacus
23. jan 2014 16:25:56
Pridružen od: 23. dec 2007 642 objav 828 38 4 |
#13
Evo ti minus. Zakaj? Ker je brezvezen komentar, ki nima veze z originalnim vprašanjem. Zakaj pt.2? Ker sem že eksplicitno napisal, da se v te debate ne spuščam. Ker se mi ne da. Ker so zgolj 'versko prepričanje'. Imaš predlog? Tudi na ne-microsoftovi tehnologiji? Bo več kot dobrodošel in se ti bom zanj lepo zahvalil. |
|
|
ledi
23. jan 2014 19:07:41
Pridružen od: 14. avg 2008 681 objav 325 223 14 |
#14
je baza pravilno optimizirana? |
|
|
kelvan
23. jan 2014 23:37:01
Pridružen od: 19. okt 2007 891 objav 658 122 26 |
||
|
technolog
24. jan 2014 12:49:58
Pridružen od: 14. nov 2011 598 objav 768 300 22 |
#16
Moj komentar izraža sočutje. Z linuxom že 7 let. Pro web development.
|
|
|
cruiser
19. apr 2014 21:45:39
Pridružen od: 5. mar 2010 239 objav 275 16 3 |
#17
Najprej je potrebno videti kveri. Potem pa še povej kakšne indekse imaš na teh 3 tabelah. Zelo verjetno ti dela kje full table scan. Sama količina podatkov ni problematična za izvedbo kverija, če so indeksi ok. // Senior software engineer, marketer and entrepreneur. Need help ? Let me know -> http://www.krevh.com/contact/
|
|
|
Spartacus
22. maj 2014 19:06:26
Pridružen od: 23. dec 2007 642 objav 828 38 4 |
#18
Tej začeti temi dolgujem še odgovor, hkrati pa sem ugotovil, da sem napisal premalo informacij, ki bi lahko pomagale pri iskanju odgovora, tako da se posipam s pepelom. Hkrati pa mi nekaj pravi, da tu ni ravno ogromno .NET programerjev (ta moment se spomnim samo na @mckmck, @ms3 in @urosbe) :) Kljub temu pa - če se komu (tudi naključnemu obiskovalcu) privarčuje kakšna ura živcev, je pa že nekaj vredno :) Skratka, problem ni bil direktno na bazi, ampak v implementaciji .NET rešitve. Bottleneck celotni zadevi so bili objekti tipa DataTable (s katerimi rešitev pač operira). V "starejšem" delu kode (ki je bila napisana pred nekaj leti) se je filtriranje delalo s pomočjo DataTable metode .Select(). Kar je delovalo, dokler ni prišlo do ogromne količine podatkov. Potem pa smo filtriranje prepisali na LINQ in odzivni časi so se zmanjšali na 10% prvotne vrednosti. Tako ja, na 10% (torej, na eno desetino - iz ~90s na ~8-9s) prvotnega časa. Z vsakim tweakanjem pa se ta čas še manjša, tako da gremo očitno v pravo smer :) |
|
|
kelvan
22. maj 2014 19:50:30
Pridružen od: 19. okt 2007 891 objav 658 122 26 |
||
|
wingback
22. maj 2014 20:44:10
Pridružen od: 19. maj 2013 334 objav 224 14 3 |
#20
@+1 .NET programer btw. Nevem sicer kako je v večjih firmah in vzdrževanjem teh aplikacij. Verjetno so še kar dataTable-i in podobno. Kar smo novega delali v firmi je šlo vse z LINQ in FluentNHibernate. Stvari špilajo super. Pa naj bojo stvari še tako komplicirane. |
|
