I think it is so because of primary key definition. You can achieve instant update if you use an integer field as primary key , autogenerated by a procedure and WhereType=1. I don't think that VFP will update the underlying table other way than scanning the entire table searching for modified records, without using the primary key index.
You can speed up the process if you create index(es) on field(s) specified as key field(s) in view definition.
>Hi all,
>
>I have a VFP table with 11.9 million (1.4 GB file size) records and I created a view off it which has 87,000+ records. The source table has PK consisting four columns as such: bintoc(id1)+bintoc(id2)+bintoc(id3)+timeframe with a !DELETED() filter. It takes approximately two seconds or more to replace two columns of the view.
>
>The performance is very acceptable (fast) with 2800+ records in the view. Source table is on a network location. Even when data (source table) is on local drive, performance does not improve at all.
>
>
>Settings are as follow:
>command:
>replace nQty with m.Qty
>if !isnull(m.Rev)
> replace nRev with m.Rev
>endif
>
>Buffering = 3
>WhereType = 3
>
>SYS(3050,1,15000000)
>SYS(3050,2,10000000)
>
>Pentium III-M 1.2M
>Base Physical Memory 512 MB
>Windows 2000 Pro SP3
>VFP 7 SP 1
>
>
>Any inputs greatly appreciated.