Results 1 to 8 of 8

Thread: scrollen in DBgrid

  1. #1

    scrollen in DBgrid

    Ik heb een grid geplaatst op mijn forum. Hieraan is een dataset gekoppeld die 500.000 records moet binnenhalen. Dit duurt natuurlijk enkele minuten om al deze gegevens te kunnen binnenhalen.

    Is er geen manier om met blocks (een stuk van de records wordt enkel binnengehaald) te werken. En als je dan verder scrolt wordt de volgende block binnengehaald.

    Is dit in Delphi voorzien of moet ik zelf een scroll functie programmeren ?

  2. #2
    Bite me! Tommy's Avatar
    Join Date
    Jan 2002
    Location
    Rdam
    Posts
    564
    Hmm 500.000 records moet toch te doen zijn? Wat hangt er aan je dataset, een query of een table? Als het een query is, post je query is hierzo.

  3. #3

    query

    Ik gebruik een query

    Het SQL statement ziet er als volgt uit:

    Select ... from tabel where..

    er worden zo'n 20 kolommen per record binnen gehaald

  4. #4
    Dat kan zeker. Ik weet dat als je gebruik maakt van een ADOQuery, dat je met de CasheSize het aantal records kan instellen dat er initieel moet worden opgehaald. Bij het scrollen naar de laatste record in het blok wordt de volgende blok opgehaald. Je hoeft dus ook geen scroll-functie te voorzien.

    Maar ik zou eens luisteren naar mijn 'AntiVWGolf'-vriend Tommy. Het lijkt me dat 500 000 records ophalen toch heel wat sneller kan dan een paar minuten, tenzij je een ingewikkelde query hebt. Misschien is er iets mis met je query?

  5. #5
    Bite me! Tommy's Avatar
    Join Date
    Jan 2002
    Location
    Rdam
    Posts
    564
    Originally posted by ShortCut
    Dat kan zeker. Ik weet dat als je gebruik maakt van een ADOQuery, dat je met de CasheSize het aantal records kan instellen dat er initieel moet worden opgehaald. Bij het scrollen naar de laatste record in het blok wordt de volgende blok opgehaald. Je hoeft dus ook geen scroll-functie te voorzien.

    Maar ik zou eens luisteren naar mijn 'AntiVWGolf'-vriend Tommy. Het lijkt me dat 500 000 records ophalen toch heel wat sneller kan dan een paar minuten, tenzij je een ingewikkelde query hebt. Misschien is er iets mis met je query?
    Pcies, paar seconden op zijn hoogst kan ik wel inkomen, maar meerdere MINUTEn? auch .

    Btw handige informatie over dat cachesize, dat wassiknie, thnx .

  6. #6
    Old Navigator Matthijs's Avatar
    Join Date
    Mar 2001
    Location
    Ede, NL. Delphi: Delphi 7/2005 :). Matthijs schrijf je Matthijs
    Posts
    2,199
    Het hoeft niet perse aan je query te liggen! Het kan natuurlijk ook zijn dat je DB-server niet helemaal goed is, de tabel waar je uit leest slechte indexen heeft, etc. etc.
    Een andere oorzaak kan liggen in de gebruikte componenten, drivers enz.
    Ik denk dus dat een beschrijving van de omgeving ook een goede zaak is.

    Daarnaast 500K records, inlezen in een buffertje? Hoeveel memory heb je in je PC en wat draait er allemaal op.

    Ik bedoel alleen maar te zeggen performance is niet alleen van je code afhankelijk maar van veel meer factoren!
    What's in a sig?

    Would my posting be less valuable if it didnot have a sig? (Vrij naar William S.)

    Let op de kleine lettertjes. For all postings: e&oe!
    This program performed an illegal function, the police are on their way

  7. #7

    Question cachesize al geprobeerd

    De connectie met de DB server verloopt via het netwerk (klein detail).

    Cachesize van de query heb ik al proberen in te stellen, maar dit werkt niet zoals het moet (misschien ergens een verkeerde instelling). Voorbeeld: ik stel als cachesize 200 in. Vanaf record 201 tot het einde wordt dan ingeladen en duurt het natuurlijk nog lang.

  8. #8
    Dus de eerste 200 worden wel in een blok ingelezen? Wat doe je dan vervolgens om de rest in te lezen? Wordt bij een pagedown opeens de hele set ingelezen?

    Overigens moet je wel oppassen met het inlezen in blokken. Er zijn databases die de tabellen locken zolang je een cursor hebt staan, een andere gebruiker kan dan geen wijzigingen uitvoeren. Met name MS SQL server schijnt daar nogal buggy in te zijn.
    Marcel

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. DBGRID, DBEDIT en scrollen met de muis
    By hanko panko in forum Databases
    Replies: 22
    Last Post: 13-Apr-05, 16:01
  2. Replies: 4
    Last Post: 25-Sep-04, 00:31
  3. Replies: 5
    Last Post: 10-Mar-04, 09:27
  4. Scrollen in dbgrid
    By bjornfoppen in forum Databases
    Replies: 4
    Last Post: 11-Nov-02, 15:22
  5. posten bij scrollen in dbgrid voorkomen
    By Acid Burn in forum Databases
    Replies: 8
    Last Post: 28-Aug-02, 18:10

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •