Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Prestanda i Asp.net

Postades av 2005-12-05 09:07:12 - Peter Johansson, i forum asp.net generellt, Tråden har 8 Kommentarer och lästs av 448 personer

Har en listning på 20000 poster som tar otroligt mycket tid (1,30 min). Finns det något sätt att börja visa poster med en gång och ladda in resten i bakgrunden. Jag fyller i detta fallet en datagrid med ett dataset.


Svara

Sv: Prestanda i Asp.net

Postades av 2005-12-05 09:35:32 - Pelle Johansson

Spontant skulle jag säga att det är fel att visa upp 20.000 poster på en sida. Jag tror inte det finns en användare som ens har möjlighet att gå igenom en sån mängd data. Du kanske skall prova att göra någon form av urval i stället på sidan och bara visa en del av datat?


Svara

Sv:Prestanda i Asp.net

Postades av 2005-12-05 11:24:54 - Peter Johansson

Du har helt rätt. Jag har ett antal urval det är bara att jag får rekomendera/tvinga användaren att ange några urval. Men hur kan jag gå till väga för att snabba upp det ytterligare, jag skall optimera SQL-frågorna lite men behöver gör något mer.

Finns det bra artiklar i ämnet som kan rekomenderas?

Finns det någon metod för att ladda alla sidor i bakgrunden vid uppstart av en klient så man slipper den längre laddningstiden första gången innan sidan är cachad?


Svara

Sv: Prestanda i Asp.net

Postades av 2005-12-05 13:09:38 - Andreas Hillqvist

Kan din HTML renderas utan att sidan är helt nedladdad?
Buffrar du resultatet?


Svara

Sv:Prestanda i Asp.net

Postades av 2005-12-06 01:15:43 - Pelle Johansson

Som Andreas säger, man kan sätta om response.buffer till false vilket innebär att vartefter data kommer, så skickas det ut till skrivaren. Men problemet är större, 20000 rader som är formaterade med html blir en fasligt stor html-fil att ladda hem för användaren.

När det gäller optimering så är det kunskap och hantverk som går hand i hand. Det är något man till viss del kan lära sig, men även surt förvärvad kunskap med många tester. Det första du skall fundera på är om du har ett index som hjälper dig. Sen att du har en snabb databas innan du ens börjar tänka på optimering. Se även till att du inte kör någon full tabl scan, vilket innebär att du måste loopa igenom samtliga poster (dvs saknar index).

Är det en join så kan man också tänka på saker för att inte hämta upp allting på en gång, eller inte köra en join mot för många tabeller. Ibland kan det löna sig att göra temporära tabeller, men allt är från fall till fall. Så något direkt svar är tyvärr svårt att ge utan att veta mer om tabeller, databas, struktur och hur mycket data klienten skall ta emot.

Ett sätt att tänka är att bryta ner det i kanske 2 -3 delmoment. Säg att du har en kundtabell, en ordertabell och en med orderrader. Orderraderna är 10 miljoner. Alltså vet du att den är störst. Den minsta borde vara kund. Därför listar du alla kunder, användaren väljer en kund. Nästa selektering är order - då visar du alla orderhuvud för den kunden, och sen när man väljer ett orderhuvud, listar alla orderrader för aktuell order.

Skulle du ha ett kundregister med 100000 poster, ja då finns säkert någon indelning där - kanske en ort, eller liknande. Då kan du även där lägga en för-selektering.

Om du gör enligt dessa steg kommer konsumenten att få ta fler beslut, men du kommer således inte att tråka ut kunden med långsamma svarstider och material som är så stort att ingen kan läsa.

Hoppas detta gav något


Svara

Sv: Prestanda i Asp.net

Postades av 2005-12-06 02:16:21 - Joakim Åhl

Annars kan du ju använda Paging.Vet dock inte excakt hur den funkar men den vissar ju bara ett visst antal poster per sida. vilket gör att du inte får mils långa sidor, uatn kan tex välja att visa 100/sida.


Svara

Sv: Prestanda i Asp.net

Postades av 2005-12-06 08:48:00 - Andreas Hillqvist

table scan är effektiva om en tabell innehåller få värden. T.ex. om man har ordertyp och det finns fem ordertyper. ÄR det inte effektivt att ha en index på kolumnen.
Jag sa inte at man skall stänga av buffert. Men du måst flusha bufferten med jämna intervall. T.ex. var 10, 100, eller 1000 post.


Svara

Sv:Prestanda i Asp.net

Postades av 2005-12-06 08:50:53 - Joachim Feldt

Hej,

Detta är vad jag tror:
På en tabell kan man sätta <b>style="table-layout:fixed;"</b>, vilket gör att varje rad i tabellen skrivs ut efter att den är "färdig".
Det gär ju att användaren i alla fall inte uppfattar det som så långsamt. När det blivit så många rader att scrollbaren synse, så ser man ju inte längre att sidan fortfarande laddas.

Hur detta fungerar på en datagrid vet jag inte. Men datagriden blir väl en tabell i slutändan, så det kanske funkar.

/Jocke


Svara

Sv: Prestanda i Asp.net

Postades av 2005-12-06 10:22:27 - Peter Johansson

Tack för många intressanta tips. Har tittat lite på Paging i kombination med joinad fråga i en Stored procedure och då laddar det upp datat snabbt och bra givetsvis beroende på hur många poster jag laddar. Har dock inte rett ut ännu hur sorteringen funkar då?

Fråga:
Hur flashar man sin buffert??


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 606
27 953
271 705
1 058
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies