>>>>>>>>>>>>>>>A form includes in dataenvironment two tables: members and payments.
>>>>>>>>>>>>>>>Form runs pretty fast with small tables: members -2K records(2M) & payment-2K records(200K).
>>>>>>>>>>>>>>>Form runs very slow when tables are large: members -35K records(30M) & payment-117K records(11M).
>>>>>>>>>>>>>>>What can I change to increase form speed?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>Ed
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>Table size itself shouldn't pose a problem. Probably, you run some queries, create view/cursors e.g. for Combo.Rowsource,etc. which slow down interface. If it's the case, try to optimize them.
>>>>>>>>>>>>>Hi Edward!
>>>>>>>>>>>>>Delay occures when I switch between pages (in pageframe) with different controlsource tables and at the start of the form.
>>>>>>>>>>>>>Ed
>>>>>>>>>>>>
>>>>>>>>>>>>Have to ask you again: do you have any Select-SQL statements, or List/Combo with SQL-query or cursor as rowsource, or maybe you have grids?
>>>>>>>>>>>
>>>>>>>>>>>Yes, I have grids on two pages of the form.
>>>>>>>>>>>How to optimize it?
>>>>>>>>>>>Ed
>>>>>>>>>>
>>>>>>>>>>What are grid recordsources? Do you set Column.ControlSource individually or use default?
>>>>>>>>>Column.ControlSource are the same as Column.Text.ControlSource and were set
>>>>>>>>>by default.
>>>>>>>>
>>>>>>>>What are grid recordsources (answer it, please!)? Do you use any Dynamic properties?
>>>>>>>No, I don`t use any dynamic properties
>>>>>>
>>>>>>Excuse me, are you kidding? I asked you two times already what is Grid.RecordSource. If you don't want to accept it, you can start new thread.
>>>>>I`m sorry. Probably I misunderstood you.(I`m still very weak in English)
>>>>>Grid.RecordSource = 'members'
>>>>>Grid.RecordSourceType = '1 - Alias'
>>>>>I don`t change any grid properties dynamicly
>>>>>Ed
>>>>
>>>>Ok. I just made quick test putting 3,5 million record table (350 M) into grid, and form opened momentarily. The last thing, I would check, is to make sure that you don't have temp relationships. Anyway, it would be good idea to make a test: create a form with a grid with one table, and see how it works.
>>>>BTW, what is your native language?
>>>Hi Edward!
>>>I didn`t set persistent relations in database, but I have set relation between
>>>members and payments in form.dataenvironment. I suggest that it`s refreshing cursor when we move between pages or form.refresh() is executed.
>>>My native languages are russian. idish, moldavian(roumanian).
>>>Thank You very much for support!
>>>Ed
>>
>>Ok. Remove temp relationships and try again.
>>Znachit, wy iz Kishineva? Kak davno?
>I have removed relations from form.dataenvironment but speed did not increase.
>Maybe because I have set filter in several places.
>I`ll try to create a simple form and to run it with a large data.
>Okolo shesti let, govoryu bolee-nemenee , a vot soobrazhayu medlenno.
>Thank you.
>Ed
Great, we got it! It's bad idea to use filters against high-volume data in grids. The least problem here, that you lose proportional scrolling. The worst is that you really slow down, because, I guess, VFP wants to check filter for each grid row. Use view or cursor instead.
Edward Pikman
Independent Consultant