Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM General » View Thread |
Messages 1 to 3 of 3 total |
Filter on TDBISAMTable |
Fri, Feb 8 2013 4:09 AM | Permanent Link |
Danie van Eeden | Hi,
this is going to sound kind of stupid but Im going to ask anyway. When applying a filter (on an indexed text field, over network connection) the following happens (roughly 80 000 records in table): 1. First time I apply the Filter with Table.Filter := 'field like ''%something%''' Table.Filtered := True; it takes quite some time (over network connection). however when I replace the filter and apply it again its much faster eg. Table.Filter := 'field like ''%something else%''' Table.Filtered := True; I assume this is due to some sort of caching, but was wondering if there was anything I could do to speed up my partial filter the first time round. Many thanks |
Fri, Feb 8 2013 5:11 AM | Permanent Link |
Roy Lambert NLH Associates Team Elevate | Danie
>I assume this is due to some sort of caching, but was wondering if there was anything I could do to speed up my partial filter the first time round. Your guess is almost certainly right (but the time could also include opening the table first), but there's not that much you can do to speed things up. There are two (possibly three Tim would know) caches involved - Winidows & DBISAM (the third would be some sort of network cache). The only way of populating these is to do the work, then the cache may be emptied by something else needing it so no guarantees that the data will still be there. I assume you're using file server rather than client server mode so what will have to happen is for DBISAM to at least transfer the index file over to the client PC, and then the data so there's that as a minimum. You could try opening the table in a background thread and running a few queries / filters on it, but as I say above no guarantees the caches will contain the needed data when you want to tun your filter. Roy Lambert [Team Elevate] |
Fri, Feb 8 2013 7:08 AM | Permanent Link |
Danie van Eeden | Hi Roy,
thanks for the quick reply. Danie Roy Lambert wrote: Danie >I assume this is due to some sort of caching, but was wondering if there was anything I could do to speed up my partial filter the first time round. Your guess is almost certainly right (but the time could also include opening the table first), but there's not that much you can do to speed things up. There are two (possibly three Tim would know) caches involved - Winidows & DBISAM (the third would be some sort of network cache). The only way of populating these is to do the work, then the cache may be emptied by something else needing it so no guarantees that the data will still be there. I assume you're using file server rather than client server mode so what will have to happen is for DBISAM to at least transfer the index file over to the client PC, and then the data so there's that as a minimum. You could try opening the table in a background thread and running a few queries / filters on it, but as I say above no guarantees the caches will contain the needed data when you want to tun your filter. Roy Lambert [Team Elevate] |
This web page was last updated on Tuesday, May 7, 2024 at 06:25 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |