[ASP] Access maximaal aantal records

Pagina: 1
Acties:
  • 145 views sinds 30-01-2008
  • Reageer

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09-08 20:34
Ik heb een aardig ingewikkeld Intranet systeem dat met een access database werkt. Eerst had ik voor elk ordernummer dat in het programma gebruikt wordt een apparte database, maar doordat er steeds uitgebreidere rapporten moesten worden gemaakt heb ik al deze databasen samengevoegd.

Nu heb ik dus 1 database van 30 Mb, met daarin 27 tabellen en er zitten net geen 140.000 records in.

Nu heb ik de laatste dagen een probleem dat mijn applicatie gigantisch langzaam is, en als hij dan langzaam is, en kijk in windowsverkenner naar de database dan zie je dat hij gedurende die tijd open blijft staan.

Is 140.000 records voor access te veel, of ligt het probleem ergens anders?

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

MS Access is er niet blij mee; ik vind het zelfs een beetje mishandeling.

Oorzaak kan ook liggen in verkeerde indexen, te complexe queries, etc.

[ Voor 10% gewijzigd door gorgi_19 op 11-09-2003 09:19 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Ik weet wel dat er in Acces een optie zit om je database te "verkleinen" maar wat dat precies doet enzo weet ik niet...

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
access is ook niet het meest vlot als er meer dan 10 man tegelijk op werken. Mischien toch eens denken om over te stappen op SQLserver oid (mySQL kan ook).

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Verwijderd schreef op 11 september 2003 @ 09:20:
Ik weet wel dat er in Acces een optie zit om je database te "verkleinen" maar wat dat precies doet enzo weet ik niet...
Tools --> Database Utilities --> Compact and repair database...

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09-08 20:34
gorgi_19 schreef op 11 september 2003 @ 09:18:
MS Access is er niet blij mee; ik vind het zelfs een beetje mishandeling.

Oorzaak kan ook liggen in verkeerde indexen, te complexe queries, etc.
Toen ik net met het programma ben begonnen wist ik niet zo veel van database connecties af enzo, en heb soms erg lompe constructies gemaakt om mijn data te krijgen, later ben ik steeds meer en complexere query's gaan maken. Echter zie ik waar ik van die lange query's maakt, dat dit nooit problemen geeft, en ERG snel blijft, ik heb alleen het idee dat bij sommige pagina's waar een aantal keren de database wordt geopent, dat hij daar problemen mee geeft, en het irritante is dat niet alleen bij de user die de pagina opvraagt vertraagt wordt, maar IEDEREEN heeft er last van, zelfs op andere domeinen (die ook op de IIS draaien)!

Is het raadzaam om alles te migreren naar MsSQL-server?

En hij draaid nu op IIS 4, nu zijn we van plan om over een aantal weken te gaan migreren naar IIS 5 (win2k server), zou dit al beter zijn voor de performance van het programma?

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09-08 20:34
Verwijderd schreef op 11 September 2003 @ 09:20:
Ik weet wel dat er in Acces een optie zit om je database te "verkleinen" maar wat dat precies doet enzo weet ik niet...
Dat heb ik gedaan idd, en dit zorgt ervoor dat er maar 30 Mb overblijft, maar het helpt niet echt in de snelheid :(

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


Verwijderd

Polderdijk schreef op 11 September 2003 @ 09:25:
[...]


Is het raadzaam om alles te migreren naar MsSQL-server?
Ja! :) Maar dat is makkelijker gezegd dan gedaan.
Ik denk dat het een boel zal helpen om naar MsSql te gaan. Vooral als de boel blijft groeien.

Werk je trouwens met ASP. Zoja sluit je dan al je recordsets wel weer goed af enzo?

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
nadeel van msSQL is de €'s

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • Dukey
  • Registratie: November 2000
  • Laatst online: 11-08 18:49

Dukey

Ik heb dit getypt hier -->

De migratie van Acces naar bijv MySQL of MsSQL is een echte aanrader in jouw geval. Je verteld niet welke connectie je maakt met de DB, maar ik heb het gedaan met MySQL en MyODBC als driver. Hoefde maar hele kleine wijzigingen te maken in m'n queries om alles weer aan de gang te krijgen. De snelheid van m'n pagina's versnelde met een factor 2! Geen flauwekul, ik heb hiervoor de timer optie gebruikt in VB script om het te meten.
Enigste nadeel van MySQL is dat zijn geen complexe queries ondersteunen. Het simpele select, insert, update en delete gaat iig prima :)

Ook wel de allergrootste _ _ _ _ _ (vul in met blokletters)


Verwijderd

4of9 schreef op 11 september 2003 @ 09:34:
nadeel van msSQL is de €'s
:?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Je hebt voor een internetapplicatie, en ik denk ook intranetapplicatie, een processorlicense nodig van SQL Server. Afaik kost deze om en nabij de 5000 dollar.
Polderdijk schreef op 11 September 2003 @ 09:25:
Is het raadzaam om alles te migreren naar MsSQL-server?

En hij draaid nu op IIS 4, nu zijn we van plan om over een aantal weken te gaan migreren naar IIS 5 (win2k server), zou dit al beter zijn voor de performance van het programma?
Wat jij nu zegt, lijkt me ideaal voor een testomgeving. Vraag om een testomgeving met Win2k server. Zet er verder SQL Server 2k op; eventueel de trial versie. Met SQL Profiler en Application Stress test kan je vervolgens wel e.e.a. uitproberen en kijken hoe de performance is.

Sowieso zou ik MSDE gaan overwegen; 't is aan jou dan om uit te zoeken of dit niet een voordeligere oplossing is dan SQL Server. Nadeel is dat deze een aantal beperkingen heeft in concurrent users t.o.v. SQL Server. Verder weet ik niet in hoeverre MSDE voor een productieomgeving gebruikt mag worden.

IIS 5 zal een performanceverbetering latern zien t.o.v. IIS 4; een aantal bugs waren er uit. Verwacht echter geen 50% verbetering, bij wijze van spreken.

[ Voor 75% gewijzigd door gorgi_19 op 11-09-2003 09:54 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09-08 20:34
Djoekie schreef op 11 September 2003 @ 09:35:
De migratie van Acces naar bijv MySQL of MsSQL is een echte aanrader in jouw geval. Je verteld niet welke connectie je maakt met de DB, maar ik heb het gedaan met MySQL en MyODBC als driver. Hoefde maar hele kleine wijzigingen te maken in m'n queries om alles weer aan de gang te krijgen. De snelheid van m'n pagina's versnelde met een factor 2! Geen flauwekul, ik heb hiervoor de timer optie gebruikt in VB script om het te meten.
Enigste nadeel van MySQL is dat zijn geen complexe queries ondersteunen. Het simpele select, insert, update en delete gaat iig prima :)
Ik maak gebruik van ADODB connecties, is dit makkelijk om te migreren?

Ik ben net bij mijn baas geweest en moet een investeringsplan maken, maar ik denk dat msSQL erg duur is, maar als MySQL nou een oplossing is, dan scheelt dit weer.

Maar als ik bijvoorbeeld onderstaande Query uitvoerd, kan dit met MySQL?

SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
"SELECT 
  Count(*), 
  Sum(TotaalKosten) AS tTotaalKosten, 
  Regnummer, 
  Sum(NormaleUren) AS tNormaleUren, 
  Sum(OV1) AS tOV1, 
  Sum(OV2) AS tOV2, 
  Sum(OV3) AS tOV3, 
  Sum(OV4) AS tOV4, 
  Sum(Reisuren) AS tReisuren 
FROM 
  Tijdlijst 
WHERE 
 OrderNummer 
   LIKE '" & OrdNum & "' 
  AND " & QUERYVanTot & " 
SubNummer 
  LIKE '" & SubNum & "' 
AND 
  (UitvoeringManagement LIKE 'Management' 
OR UitvoeringManagement LIKE 'Engineering') 
GROUP BY 
  Regnummer 
ORDER 
  BY Regnummer"

[ Voor 6% gewijzigd door Polderdijk op 11-09-2003 09:54 ]

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Wat is het nut van die like? Een = teken voldoet in deze situatie toch ook, zeker omdat er geen variabele in zit?

Ook met het ordernummer; dit lijkt me een numeriek getal. Hier moet je ook een andere vergelijking imho voor neer kunnen zetten.

[ Voor 98% gewijzigd door gorgi_19 op 11-09-2003 09:56 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

gorgi_19 schreef op 11 September 2003 @ 09:48:
[...]

Je hebt voor een internetapplicatie, en ik denk ook intranetapplicatie, een processorlicense nodig van SQL Server. Afaik kost deze om en nabij de 5000 dollar.
ooh dat werd er bedoeld :o

  • whoami
  • Registratie: December 2000
  • Laatst online: 21-08 22:54
Overstappen naar SQL Server is het beste wat je kunt doen imho.

Ik vind het zowiezo al niet aan te raden om een DB als Access te nemen om in een web-omgevingen te functioneren.
In SQL Server heb je een optie 'Import database'. Met die Wizard kan je dus je Access DB importeren in SQL Server.
SQL Server zal zelf alle tabellen aanmaken en de gegevens importeren. Je zult wel zelf nog moeten nagaan of de datatypes allemaal correct zijn. Daarnaast zal je zelf nog de indexen en relaties moeten leggen.

Ik kan je 1 ding zeggen: MySQL is geen oplossing imho. MySQL mist gewoon een hele hoop basisfunctionaliteit.
Daarnaast kan je in Sql Server ook bepaalde taken in stored procedures steken.


Om verder gorgi_19 ff bij te treden: die LIKE heb je idd niet nodig. Je gebruikt nergens wildcards, dus hou het maar bij een simpele = .
Als OrderNummer een numeriek veld is, dan moet je er ook geen quotes rondzetten.

[ Voor 31% gewijzigd door whoami op 11-09-2003 10:00 ]

https://fgheysels.github.io/


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

In aanvulling op whoami denk ik dat het ook niet verkeerd is om al je queries langs te lopen op efficiency. SQL Server heeft hier de Profiler voor; erg handig.. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09-08 20:34
gorgi_19 schreef op 11 September 2003 @ 09:55:
Wat is het nut van die like? Een = teken voldoet in deze situatie toch ook, zeker omdat er geen variabele in zit?
Ja, dat kan ook, maar ik ben gewend om LIKE te gebruiken, weet niet waarom 8)7
Ook met het ordernummer; dit lijkt me een numeriek getal. Hier moet je ook een andere vergelijking imho voor neer kunnen zetten.
Nee, het is niet altijd nummeriek, er kan regelmatig tekst in zitten, net als het subnummer!

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Polderdijk schreef op 11 September 2003 @ 09:59:
[...]

Ja, dat kan ook, maar ik ben gewend om LIKE te gebruiken, weet niet waarom 8)7
Zou me namelijk niets verbazen als dit ook eea aan performance kost. En heb je je indexen al gecontroleerd?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • whoami
  • Registratie: December 2000
  • Laatst online: 21-08 22:54
Owja, ivm die profiler:
Met die profiler kan je een Trace maken, en de output daarvan kan je dan gebruiken in de Index Tuning wizard.
Die wizzard geeft je een rapportje terug van waar je nog best indexen kunt leggen, welke indexen er niet gebruikt worden, etc.....
Daarnaast kan je in Query Analyzer ook nog eens het executie - plan van een query bekijken en kijken waar de bottlenecks zitten en dan weet je welke actie je kan ondernemen.

https://fgheysels.github.io/


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09-08 20:34
whoami schreef op 11 September 2003 @ 09:57:
Overstappen naar SQL Server is het beste wat je kunt doen imho.

Ik vind het zowiezo al niet aan te raden om een DB als Access te nemen om in een web-omgevingen te functioneren.
In SQL Server heb je een optie 'Import database'. Met die Wizard kan je dus je Access DB importeren in SQL Server.
SQL Server zal zelf alle tabellen aanmaken en de gegevens importeren. Je zult wel zelf nog moeten nagaan of de datatypes allemaal correct zijn. Daarnaast zal je zelf nog de indexen en relaties moeten leggen.

Ik kan je 1 ding zeggen: MySQL is geen oplossing imho. MySQL mist gewoon een hele hoop basisfunctionaliteit.
Daarnaast kan je in Sql Server ook bepaalde taken in stored procedures steken.


Om verder gorgi_19 ff bij te treden: die LIKE heb je idd niet nodig. Je gebruikt nergens wildcards, dus hou het maar bij een simpele = .
Als OrderNummer een numeriek veld is, dan moet je er ook geen quotes rondzetten.
Vanaf volgende week gaat m'n collega een testomgeving opzetten, zeker ook omdat nu al onze servers nog op NT draaien moeten we even uitzoeken of we daar zonder problemen een W2K tussen kunnen zetten.

Dan nog een vraag voordat we overgaan, ik heb alles wat ik nu heb gemaakt helemaal zelf geleerd, met alleen een boek ASP/VB en Internet, adviseren jullie mij nu om een cursus te volgen voordat we naar SQL overgaan, of staat er voldoende op I-net om alles te leren?

Verder ben ik nu al bezig om het hele programma te doorlopen om de query's efficienter te maken en kijken of er nergens connecties open blijven staan!

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09-08 20:34
whoami schreef op 11 September 2003 @ 10:02:
Owja, ivm die profiler:
Met die profiler kan je een Trace maken, en de output daarvan kan je dan gebruiken in de Index Tuning wizard.
Die wizzard geeft je een rapportje terug van waar je nog best indexen kunt leggen, welke indexen er niet gebruikt worden, etc.....
Daarnaast kan je in Query Analyzer ook nog eens het executie - plan van een query bekijken en kijken waar de bottlenecks zitten en dan weet je welke actie je kan ondernemen.
Kijk dat zijn handige tips 8)

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • whoami
  • Registratie: December 2000
  • Laatst online: 21-08 22:54
Je zou ook je queries zodanig kunnen herschrijven dat je gebruik maakt van parameters ipv je zoekargumenten erin te concateneren.
Dit is ten eerste veel veiliger, en ten tweede kan het DBMS (Access zal dat wel niet doen) je query-execution plan dan cachen, waardoor ze sneller uitgevoerd worden.

Op je vraag of je nog best een cursus kunt volgen kan ik moeilijk antwoorden. Dat hangt van je kennis af, van het niveau van de boeken die je gebruikt hebt, van jouw kwaliteiten om iets uit zelfstudie op te pikken, etc....

https://fgheysels.github.io/


Verwijderd

En gebruik in je sql statemens WITH ( nolock ) als dit kan.
Dit scheelt ook een boel. (dit kan niet in acces denk ik)

http://www.sql-server-per...tention_tamed_article.asp

  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09-08 20:34
Verwijderd schreef op 11 september 2003 @ 10:18:
En gebruik in je sql statemens WITH ( nolock ) als dit kan.
Dit scheelt ook een boel. (dit kan niet in acces denk ik)

http://www.sql-server-per...tention_tamed_article.asp
In princiepe doe ik dit al, als ik m'n database leest, dan gebruik ik:

RS.Open SQLString, DBConn, adOpenStatic, adLockReadOnly, adCmdText

En als ik ga wijzigen in de DB dan gebruik ik:
RS.Open SQLString, DSN_CONNSTRING, adOpenKeyset, adLockPessimistic, adCmdTable

Of zou ik hier wat aankunnen passen om de performance er een beetje in wilt houden...

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
4of9 schreef op 11 September 2003 @ 09:34:
nadeel van msSQL is de €'s
offtopic:
Kijk eens naar deze pagina, je mag ook MSDE gebruiken mits je aan een aantal voorwaarden voldoet.
http://www.microsoft.com/sql/msde/howtobuy/msdeuse.asp

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • whoami
  • Registratie: December 2000
  • Laatst online: 21-08 22:54
FvKnijff schreef op 11 September 2003 @ 12:32:
[...]


offtopic:
Kijk eens naar deze pagina, je mag ook MSDE gebruiken mits je aan een aantal voorwaarden voldoet.
http://www.microsoft.com/sql/msde/howtobuy/msdeuse.asp
Je mag MSDE enkel gebruiken in ontwikkel-omgevingen enzo dacht ik, niet in een 'productie' omgeving.

https://fgheysels.github.io/


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09-08 20:34
Ik probeer het probleem nog steeds gering te houden door de Server.ScriptTimeOut op 15 seconde te zetten, maar het lijkt erop ofdat hij dit helemaal negeert! Weet iemand nog een andere oplossing want ik ben nu een script aan het testen, deze was niet goed en nu blijft continu de database open en niks reageert meer :( En ook die ScriptTimeOut tijd is allang verstreken en niks reageert meer!

Wie weet hiervoor een oplossing?

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
whoami schreef op 11 September 2003 @ 12:33:
[...]


Je mag MSDE enkel gebruiken in ontwikkel-omgevingen enzo dacht ik, niet in een 'productie' omgeving.
LEES dan ff de Q&A op de pagina (heb bij meerdere juristen navraag en die waren unaniem van mening dat het kan) :)
Several Microsoft product licenses convey the right to use and redistribute the Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) version 2.0. Review the information on this page to learn which product licenses or subscription services convey the redistribution rights you require. In all cases, you should refer to the End–User License Agreement (EULA) for a full statement of the rights conveyed by your product license.


Q. Can I use MSDE as a database for Web applications?

A. MSDE is an ideal solution for low-end Web applications. The following products and services enable you to redistribute MSDE as a database server for Web applications:

ASP.NET Web Matrix*
MSDN Universal, Enterprise, and Professional subscriptions
Office XP Developer Edition
SQL Server 2000 Developer, Standard, and Enterprise Editions
Visual Studio .NET Architect, Developer, and Professional Editions
Visual FoxPro 7.0 or 8.0

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Polderdijk schreef op 11 September 2003 @ 12:48:
Ik probeer het probleem nog steeds gering te houden door de Server.ScriptTimeOut op 15 seconde te zetten, maar het lijkt erop ofdat hij dit helemaal negeert! Weet iemand nog een andere oplossing want ik ben nu een script aan het testen, deze was niet goed en nu blijft continu de database open en niks reageert meer :( En ook die ScriptTimeOut tijd is allang verstreken en niks reageert meer!

Wie weet hiervoor een oplossing?
Meest eenvoudige oplossing is een reboot. Andere optie zou zijn om de connectie te sluiten; zou misschien kunnen door een proces af te sluiten / IIS te herstarten.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Polderdijk
  • Registratie: December 2001
  • Laatst online: 09-08 20:34
gorgi_19 schreef op 11 september 2003 @ 12:52:
[...]

Meest eenvoudige oplossing is een reboot. Andere optie zou zijn om de connectie te sluiten; zou misschien kunnen door een proces af te sluiten / IIS te herstarten.
Alleen een reboot is mogelijk, maar als er dan weer wat fout gaat, moet ik weer de server rebooten, service opnieuw opstarten enzo helpt zelfs niet meer!

Maar ben bezig win2k te installeren en daarna ff testen!

Webhosting van SkyHost.nl: 25 Mb / 1 Gb windows hosting € 4,50 p/m excl.btw!


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
je kunt gewoon de service afluiten en eventueel killen met kill.exe uit de resourcekit

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...

Pagina: 1