/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
3 spørgsmål om optimering af asp-sider...
Fra : Magnus


Dato : 28-08-02 14:44

1)
Jeg fik en dag følgende fejlmeddelse på min forside og der var ikke ændret
noget på siden så det kunne være en fejl i nogle koder er der nogen der ved
hvad det betyder:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[TCX][MyODBC]Too many connections
/html/overskrift-forside.inc, line 3


2)
Dette er et typisk database kald som jeg har rigtig mange af på mine sider
og mange sider med flere kald derfor er det vigtigt at disse kald ikke er
for resoursekrævende.
Er dette MySXL kald den mest optimale eller kan det blive bedre?

SQL = "SELECT id, titel, url, klik, klikialt, kategori FROM Link ORDER BY
titel"
Conn.Execute(SQL)
set RS = conn.execute( SQL )

DO WHILE NOT RS.EOF
Response.Write RS("id") & "<BR>"
RS.MoveNext
LOOP


3)
Min forside består af en masse kald til MySQL til visning af forskellige
funktioner. Hver af disse funktioner ligger i en "*.inc" fil som så
inkluderes med linien fx.:
<!--#include file = "inc/links.inc"-->

Er det den helt optimale måde at inkludere enkelte funktioner på forskellige
sider på når man tænker sidens hurtighed ved mange besøgende når den samme
stump koder skal hentes og det derfor er let at rette i dem et sted...?


/Magnus



 
 
Jakob Møbjerg Nielse~ (28-08-2002)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 28-08-02 15:48

Magnus wrote:
> Microsoft OLE DB Provider for ODBC Drivers error '80004005'
> [TCX][MyODBC]Too many connections
> /html/overskrift-forside.inc, line 3

"Too many connections" - MySQL opsætningen skal ændres.

> Er dette MySXL kald den mest optimale eller kan det blive bedre?
>
> SQL = "SELECT id, titel, url, klik, klikialt, kategori FROM Link
> ORDER BY titel"

Er 'titel' indexeret?

> <!--#include file = "inc/links.inc"-->
>
> Er det den helt optimale måde at inkludere enkelte funktioner på

Ja, men pas på med at kalde includefilerne for ".inc". Jeg kan se i den
øverste fejlmeddelelse at der ligger noget MySQL i
"/html/overskrift-forside.inc". Nu kan jeg så gå ind på
www.ditdomæne.dk/html/overskrift-forside.inc, og muligvis se din
MySQL-host, brugernavn og password[1]. Det er bedre at kalde filerne for
".inc.asp", da de bliver fortolkede som ASP filer, og dermed bliver
koden ikke vist.

[1]: Med forbehold for at serveren ikke er sat op til at fortolke
..inc-filer.

--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
http://www.jakobnielsen.dk/ | -- Terry Pratchett, Reaper Man
Jeg søger et fuldtidsjob som programmør. Tag et kig på hjemmesiden.



Jesper Stocholm (28-08-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 28-08-02 16:33

Jakob Møbjerg Nielsen wrote in news:akinpr$qrh$1@sunsite.dk:

> Magnus wrote:
>> SQL = "SELECT id, titel, url, klik, klikialt, kategori FROM Link
>> ORDER BY titel"
>
> Er 'titel' indexeret?

[med forbehold for, at jeg har glemt, hvordan et index virker]

Hvad skulle det hjælpe, at du laver index på en kolonne, som du sorterer
efter ? Jeg kunne se pointen, hvis der var en WHERE-klausul på kolonnen -
eller der blev JOIN'et på den ... men hvordan hjælper et index på en
sortering ?



--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|

Jakob Møbjerg Nielse~ (28-08-2002)
Kommentar
Fra : Jakob Møbjerg Nielse~


Dato : 28-08-02 17:40

Jesper Stocholm wrote:
> [med forbehold for, at jeg har glemt, hvordan et index virker]

Kig på http://www.mysql.com/doc/en/ORDER_BY_optimisation.html. Der er
dog nogle betingelser der skal være opfyldt, før index'et kan bruges.
Det er sikkert en speciel MySQL ting (jeg har i hvert fald ikke set
andre databaser der understøtter det).

> men hvordan hjælper et index på en sortering ?


Jeg aner ikke hvordan de har gjort.

Læg forresten mærke til at manuel kontrol over indexer ikke er en del af
SQL99 standarden. Der er generelt masser af forskellige index-udvidelser
i div. databaser. I MSSQL kan man fx definere et index på views.

--
Jakob Møbjerg Nielsen | "Five exclamation marks, the
jakob@dataloger.dk | sure sign of an insane mind."
http://www.jakobnielsen.dk/ | -- Terry Pratchett, Reaper Man
Jeg søger et fuldtidsjob som programmør. Tag et kig på hjemmesiden.



Jens Gyldenkærne Cla~ (28-08-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 28-08-02 22:47

Jakob Møbjerg Nielsen skrev:

> Kig på http://www.mysql.com/doc/en/ORDER_BY_optimisation.html.
> Der er dog nogle betingelser der skal være opfyldt, før
> index'et kan bruges. Det er sikkert en speciel MySQL ting (jeg
> har i hvert fald ikke set andre databaser der understøtter
> det).

MSSQL kan også benytte index til sortering. Se følgende artikel:
<http://www.sqlmag.com/Articles/Index.cfm?ArticleID=8612>

>> men hvordan hjælper et index på en sortering ?

Se samme artikel. Sidste tabel giver en sammenligning af
kørselstider for fem forskellige indekseringer. Der er ganske store
forskelle.

--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.

Kim Bach Petersen (28-08-2002)
Kommentar
Fra : Kim Bach Petersen


Dato : 28-08-02 15:48

> Microsoft OLE DB Provider for ODBC Drivers error '80004005'
> [TCX][MyODBC]Too many connections

Der er etableret for mange forbindelser til databasen. Problemet kan
forebygges ved at lukke en forbindelse straks efter brug - eller i det
mindste umiddelbart før siden er genereret færdig.

> SQL = "SELECT id, titel, url, klik, klikialt, kategori FROM Link
> ORDER BY titel"
> Conn.Execute(SQL)
> set RS = conn.execute( SQL )

Linien Conn.Execute(SQL) er overflødig - du laver det samme databasekald to
gange og det er kun anden gang, du faktisk henter data.

Kim
--
· www.kensho.dk · psykologi og spiritualitet ·



Mark S. Rasmussen (28-08-2002)
Kommentar
Fra : Mark S. Rasmussen


Dato : 28-08-02 18:27

> Microsoft OLE DB Provider for ODBC Drivers error '80004005'
> [TCX][MyODBC]Too many connections
> /html/overskrift-forside.inc, line 3

Bliver du hostet hos Cliche? Så er der desværre ikke noget at gøre, man får
hvad man betaler for :)

Mvh Mark



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408952
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste