---
title: "Öppna stor databas"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/113140-öppna-stor-databas"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Meng"
published: "2004-10-08T07:35:12.000Z"
updated: "2004-10-11T08:34:09.000Z"
replies: 8
views: 419
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/113140-öppna-stor-databas"
---

# Öppna stor databas

## #1 — Meng, 2004-10-08T07:35Z

Hej jag har en databas med nästan 20 fält och 987 poster på 8,4 Mb. 

När man listar "hela" så tar det såklart lång tid. Finns det andra sätt än pagning att lösa detta på eftersom jag gärna vill ha allt på en lång sida. Eller kan man göra en mellan sidan där det står att databasen laddas och när detta är klart visas den, för det skulle vara bättre än att det bara är vitt tills den har laddad klart. En annan bra sak hade varit om den laddade alla posterna synligt, alltså man kan se när den skapar grafiken på skärmen för alla poster.

OBS! detta är ett intranet så de flesta ser sidan med 100 Mbit, inte alla dock..

Bild exempel på hur det ser ut nu är bifogat

Bilagor:

- [tekdokex.gif](https://www.webforum.nu/a/4692.gif)

Permalänk: https://www.webforum.nu/p/113140

## #2 — OveRRidE, 2004-10-08T08:18Z

Du kan 'flusha' den färdiga delen av sidan till klienten, säg var tionde runda (loop), eller varje ifall du nu vill det. 

```
response.flush
```

Denna kod gör att servern skickar så mycket av HTML-sidan som den har hunnit processa klart när metoden anropas.

Permalänk: https://www.webforum.nu/p/1456842

## #3 — Meng, 2004-10-08T09:25Z

Jaa det låter ju prima =) hur anväder jag det i koden då?

Permalänk: https://www.webforum.nu/p/1456873

## #4 — @nders, 2004-10-08T09:28Z

Eh?

Du lägger kodbiten där du vill flusha bufferten till klienten?

Permalänk: https://www.webforum.nu/p/1456876

## #5 — Meng, 2004-10-08T09:30Z

Provade i botten innan loop men det hade ju ingen effekt direkt.. 

```
<%	 
i = i + 1
[B]response.flush[/B]
dok.MoveNext
Loop
End If
End If
%>
```

Permalänk: https://www.webforum.nu/p/1456878

## #6 — PatrikB, 2004-10-10T11:39Z

behöver du visa alla fält på en gång?

Just 20 fält och 987 rader låter inte speciellt mycket.........dock lite datamängd att skicka till klienten.

Är det själva queryn som tar tid, eller är det skicket till klienten som tar tid?

/edit
Spars word-dokumenten i databasen?
Har du MS-SQL bör du i så fall se till att det fältet sparas till en egen fil. Varje tabell är ju kopplade till en "fil" på disken. I MS-SQL Server så kan man just dela tabellen i flera st olika filer.
När du sedan behöver lista ut tabellen så exkluderar man fältet som innehåller word-filen. På det sättet snabbar du upp queryn väsentligt

cya,
/PatrikB

Permalänk: https://www.webforum.nu/p/1457686

## #7 — Meng, 2004-10-11T08:12Z

Nej Word filerna har inget med databasen eller visningen av innehållet i databasen att göra, det är blott ett länksystem med beskrivning av dokumenten och lite activex komponenter, men dessa används inte heller i listningen. 

Det är en Access databas. 

Ja det tar inte jätte lång tid att öppna sidan, men för mig på 100 Mbit tar det 5-6 sek och för dem nere i Kina t ex kan det ta upp till 2-3 minuter eftersom dem sitter på en 2 Mbit uppkoppling till oss.

Man laddar ofta om sidan eftersom man kan lista den efter namn, beskriving, revision nummer osv. så det skulle vara väldigt bra om det med flushen skulle fungera, alltså att man kan se när den laddar fram hela sidan, eller att man kommer till en mellan sida där det står att den laddas, Bästa där hade varit någon form för procent räknare eller blott en list som blir utfylld alltmed att sidan skapas.

Permalänk: https://www.webforum.nu/p/1457974

## #8 — Erik Juhlin, 2004-10-11T08:32Z

Problemet om man flushar är att IE vill ha hela tabellen innan den ritar något.

Du skulle kunna ändra tabellstrukturen så typ efter var tionde fil så gör du en ny tabell och flushar. Typ så här:

```
Do While Not dok.EOF
	If (i Mod 10) = 0 Then
		Response.Write "<table>"
	End If
	
	%>
	<tr>
		<td>...</td>
	</tr><%
	
	If (i Mod 10) = 9 Then
		Response.Write "</table>"
		Response.Flush
	End If
	
	i = i + 1
	dok.MoveNext
Loop
If (i Mod 10) <> 0 Then Response.Write "</table>"
```

Permalänk: https://www.webforum.nu/p/1457977

## #9 — Erik Juhlin, 2004-10-11T08:34Z

Egentligen tror jag inte flushen spelar så stor roll eftersom att det som tar tid inte är för servern att arbeta, utan mer nerladdningstid/tid för IE att rendera.

Du skulle ju också kunna ha en ny tabell och flush för varje rad, men det känns onödigt...

Permalänk: https://www.webforum.nu/p/1457980

---

Tråden på webben: https://www.webforum.nu/amne/asp/113140-öppna-stor-databas
