---
title: "Optimering: DB-connect"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/10687-optimering-db-connect"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Lukaspojken"
published: "2001-07-19T14:41:00.000Z"
updated: "2001-07-20T11:59:00.000Z"
replies: 25
views: 355
page: 1
pages: 2
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/10687-optimering-db-connect"
---

# Optimering: DB-connect

_Sida 1 av 2._

## #1 — Lukaspojken, 2001-07-19T14:41Z

Vilken av dessa går snabbast egentligen?

```

```

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open ("driver={Microsoft Access Driver (\*.mdb)}; DBQ=" & Server.MapPath("minDB.mdb"))
ELler

```
ConnString = "driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("minDB.mdb")"
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open ConnString
```

Om du första går snabbare vilket jag tror...varför kör man då den nedersta varianten ibland...?

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

## #2 — Lukaspojken, 2001-07-19T14:43Z

Såg att jag var lite snabb i tangenttrycken där...så här ska det stå

Om den första går snabbare vilket jag tror...varför kör man då den nedersta varianten ibland...?

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

## #3 — PatrikB, 2001-07-19T16:28Z

Eh, gör dig nog lite besviken. INGEN AV DEM!!!!

Så här bör du öppna mot Access:

```
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("minDb.mdb")
```

Denna är typ 10 ggr snabbare i recset looparna än vad den gamla Access drivern du använder dig av är.

cya,
PatrikB

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

## #4 — Lukaspojken, 2001-07-19T16:30Z

Vad är det för skillnad på den och den översta? Blir det bättre prestanda då?

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

## #5 — PatrikB, 2001-07-19T16:40Z

Som jag sa.
Den varianten jag gav dig. här uppe, är 10 ggr snabbar eller ännu snabbare än vad den gamla accessdrivern du kör är.

cya,
PatrikB

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

## #6 — PatrikB, 2001-07-19T16:43Z

Läs denna artikel så förstår du varför den är snabbare:
 <http://www.4guysfromrolla.com/webtech/063099-1.shtml> 

cya,
PatrikB

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

## #7 — kristoffer, 2001-07-20T07:37Z

Det var dock inte svar på frågan. Att lagra strängen i en variabel gentemot att inte göra det torde ju vara mer prestandakrävande, åtminstonde teoretiskt sett.

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

## #8 — Lukaspojken, 2001-07-20T08:34Z

Patrik tog dock två flugor i en smäll...:) Jag antog att det var så...annars skulle han förmodligen skrivet på det andra sättet...

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

## #9 — PatrikB, 2001-07-20T08:35Z

Jo, precis ... men kunde inte låta bli att "tipsa" om att han använder fel driver för att kontakta db'n, som såå många andra oxå gör.

Ska vi vara än mer teoretiska så ska inte ens Server.MapPath("minDB.mdb") vara med, utan man ska istället skriva den direkta sökvägen "hårdkodat" så att säga.

...;Data Source=X:\\webs\\myweb\\minDB.mdb;"

för att anropa server objektet tar ju oxå sin lilla tid ... ett antal micro sekunder för varje sådant anrop \*ler\*

cya,
PatrikB

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

## #10 — Erik Juhlin, 2001-07-20T09:04Z

Vad bra det är att gå in på det här forumet.
Lukaspojken frågar om sådant man själv undrar lite över och sen svarar såna som PatrikB, emission, LarsG, @nders och andra gurus..

Man lär sig en del faktiskt. :)

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

## #11 — T_Codez, 2001-07-20T09:04Z

Hur är dessa kopplingar prestandamässigt kontra en system DSN koppling?

Bortsätt från att du måste ha tillgång till servern, givetvis.

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

## #12 — erka, 2001-07-20T09:11Z

Är det snabbare med en DSN ?

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

## #13 — Lukaspojken, 2001-07-20T09:24Z

Är man osäker vad man ska skriva istället för Server.MapPath("minDB.mdb") så kan man köra en response.write och sen bara göra en hel sträng av det...

Jag har dock också hört att & ska ta lite prestanda när man för samman två strängar. Därför tjänar man lite prestanda där också.

Och har man 2-3 db-kopplingar på en sida så blir det några mikrosekunder...tack PatrikB

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

## #14 — Pace, 2001-07-20T09:27Z

Varför inte göra så här i början av dokumentet:

strConnection =  "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("minDb.mdb")

... och sedan skriva:

Connect.Open strConnection

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

## #15 — Lukaspojken, 2001-07-20T09:43Z

Jag använder en sub

```
Sub DB_koppling	'Databas-kopplingen istället för include

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\genfs2\minDB.mdb"

End Sub
```

Och tack vare Patrik använder jag inte Server.MapPath.

Sen när behöver själva kopplingen skriver man bara:
DB_koppling

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

## #16 — Pace, 2001-07-20T09:45Z

Japp, så kan man också göra (det är det som är bra med programmering)...

Fast använder man Server.MapPath en gång i början av dokumentet märker man ingen skillnad, åtminstone gör inte jag det.

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

## #17 — Lukaspojken, 2001-07-20T09:47Z

Varför använda något du inte behöver?

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

## #18 — Pace, 2001-07-20T09:49Z

Varför programmera över huvud taget? ;)

Jag vet inte sökvägen på mitt webhotell ännu, så därför använder jag det fortfarande :)

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

## #19 — Eclipse, 2001-07-20T09:50Z

Hmm...!? Att så lite kan göra så stor skillnad!? Tack för tipset! Man kan stillsamt undra varför ingen skrivit om detta tidigare...

Med det tidigare tillvägagångssättet kunde vi inte använda flera databaser hos vår ISP utan att pröjsa dom 300 spänn för en sketen DSN koppling... Med denna OLEDB fungerar sever.mapPath! :-)

Dessutom, 'i en tråd nästgårds' (typ häromdan) sa nån att en DSN-less koppling är snabbare pga man slipper gå genom registret på servern...

Det är väl hugget som stucket, dagens datorer är så snabba att det är bättre att lägga energi på annat än just själva kopplingen...

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

## #20 — Pace, 2001-07-20T09:53Z

> Man kan stillsamt undra varför ingen skrivit om detta tidigare...

Kanske för att ingen har frågat? ;)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/10687-optimering-db-connect  
Nästa sida: https://www.webforum.nu/amne/asp/10687-optimering-db-connect/page2.md
