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


Hur genereras ASP:Repeater?

Postades av 2004-12-09 11:24:50 - Jonas Oscarsson, i forum asp.net generellt, Tråden har 6 Kommentarer och lästs av 469 personer

Har en prestandafråga här:
Om jag i min OnItemDataBound på en ASP:Repeater gör såhär:

If intCurrentIndex > intNumberOfTopicalsOnPage - 1 Then
	e.Item.Visible = False
End If

Kommer dessa poster att skrivas ut och sen döljas, eller kommer de inte att behandlas alls?

Anledningen till att jag gör såhär är att när jag anger SELECT TOP X och tar emot resultatet i ett DataSet ignoreras TOP X, och jag får hela urvalet ändå. Jag måste därför begränsa urvalet på något annat sätt.


Svara

Sv: Hur genereras ASP:Repeater?

Postades av 2004-12-09 22:47:53 - Ola Lindfeldt

Det är väl inte att rekommendera att hämta massor med poster som du sedan villkorar sekventiellt på att inte visa.... Det märks kanske inte om du har några hundra poster eller så, men har du några hundra tusen poster är det extremt dåligt. (klassiskt test/utv misstag).

SELECT TOP N har ingenting med ett Dataset att göra.
Det där måste du ha missförstått. Dataset är helt disconnected och har ingen aning om vad det är för SQL som körs i databasen. Annars får du lämna lite mer info. Databasmotor, kodexempel (hur hämtar du datat osv).



Svara

Sv:Hur genereras ASP:Repeater?

Postades av 2004-12-10 12:23:00 - Jonas Oscarsson

Det är inte några hundratusen poster vi talar om här, eftersom det är nyhetsartiklar.

SELECT TOP N var bara något jag har kört med i vanlig ASP, och eftersom man på liknande sätt skickar en SQL-sträng så antog jag att man kunde begränsa urvalet likadant mot ett DataSet. Det är OleDB-drivrutinerna jag kör.

Det kanske finns metoder för att begränsa urvalet i DataSet eller DataView istället? Har inte tillgång till en dator att testa vidare på just nu, men tack för visat intresse. Det var mest prestandafrågan jag undrade över.


Svara

Sv: Hur genereras ASP:Repeater?

Postades av 2004-12-10 17:11:56 - Ola Lindfeldt

Select top n är för att begränsa när du hämtar från databasen. Vilken databas, Access?
Denna möjlighet förändras inte på något sätt för att du använder Dataset nu.

Ditt Dataset förstår inte Select top, det tar i stället emot datat från t.ex. en SQL-fråga som t.ex. innehåller select top n.

Ja du kan t.ex. använda filter på en Dataview som kopplas till ett Dataset.
Men ur prestandasynpunkt är det bättre att bara hämta från databasen det du ska ha.
Förutsatt att du inte cachar ditt Dataset.

Ola






Svara

Sv:Hur genereras ASP:Repeater?

Postades av 2004-12-11 18:47:14 - Jonas Oscarsson

Det är en Accessdatabas som jag kontaktar via JET.OleDB.4.0-drivrutinerna. Det är som sagt nyhetsartiklar som ska skrivas ut, och det kommer inte att bli flera hundratusen poster.

Snabbare än mitt ursprungliga sätt är alltså att flytta över resultatet från mitt DataSet till en DataView, och sedan begränsa urvalet där, eftersom SELECT TOP n uppenbarligen inte fungerar mot mitt DataSet?


Svara

Sv: Hur genereras ASP:Repeater?

Postades av 2004-12-12 14:11:44 - Ola Lindfeldt

Nej. Varför läser du inte svaren ordentligt? :)
SELECT TOP N är inte något som händer "mot ditt Dataset"! Det är något som du har missuppfattat.

Det är en SQL fråga, som av Jet4 OLEDB motorn kommer att returnera N rader i resultatet från databasen!
Om du är ute efter att göra några hundra posters paginering (sidväxling) snabbare är det smidigast och mer optimalt att hämta alla poster till ditt Dataset och placera det i cachen. Sen kollar du om objektet finns i cachen och använder det, i stället för att gå till databasen. Du måste förstås skriva någon funktion någonstans som kan refresha ditt Dataset när databasen ändras (t.ex. när en nyhetsartikel skapas eller ändras). Om du väljer att göra så kan du glömma select top.

Här finns mer hjälp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag/html/scalenethowto05.asp




Svara

Sv:Hur genereras ASP:Repeater?

Postades av 2004-12-14 08:21:02 - Jonas Oscarsson

Är det kanske du som inte läser mina svar ordentligt? :)

Eftersom jag i vanlig ASP skickade med en SQL-sträng mot ett recordset på ungefär samma sätt som jag nu gör med DataSets, tänkte jag att det kanske skulle fungera likadant med SELECT TOP N, men det gjorde det uppenbarligen inte.

Du sa då att jag kunde begränsa urvalet genom en DataView, som jag skulle koppla till mitt DataSet, och det var därför jag skrev som jag skrev. Alltså har jag gett upp SELECT TOP N.

Postmängden kommer absolut aldrig upp i en massa hundratusen poster, så jag behöver inte tänkte jättemycket på prestandan just i detta fallet. Jag är inte alls insatt i hur man kan använda caching, och jag använder därför nya DataSets varje gång jag ska hämta data ur databasen. Jag har inte märkt att prestandan har blivit mycket sämre av detta, och jag ser därför ingen anledning till att använda caching än. (Men en länk om hur det fungerar är aldrig fel! :))

Hoppas vi förstår varann nu. :)


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 601
27 953
271 705
4 592
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