2

The LA Fox Developer Newsletter
June 1994
The LA Fox Developer is the monthly newslet-
ter of the LA Fox User Group. The purpose is
information sharing among application develop-
ers and users working with FoxPm.

LA Fox Address:
LA Fox User Group
Chuck Williams
(310) 539-9439
977 Ashbndge Lane
Harbor City, CA 90710
LA Fox Board of Directors
Chuck Williams, President
David Van Valkenburg, Treasurer
Allen Garfein, Membership
George Dvorak
Warren Rekow
Bill Seldon
Barry Lee, Newsletter Editor
Gregg Dunn
Kns Dahlin
The newsletter contains regular columns and
articles from other user groups.
XPro User Group
Randy Unruh
(310) 399-9159
2210 Wilshire Blvd. - #161
Santa Monica, CA 90403
OC FoxPro Developers Group
John Miller
(714) 661-5264
Subscriptions
The annual membership fee for the LA Fox
User Group, including subscription to The LA
Fox Developer Newsletter, is $45.

Disclaimer
Neither the LA Fox User Group, the XPro User
Group, the OC MS FoxPro Developers Group,
their officers or board of directors or their
members make any express or implied warran-
ties of any kind with regard to any information
disseminated, including, but not limited to,
warranties of merchantability and/or fitness for a
particular purpose.
Opinions provided by newsletter articles, or by
speakers, members, or guests who address the
meetings, are individual opinions only, and do
not necessarily represent the opinions of the
group. All opinions and information should be
carefully considered, and the group is not liable
for any incident or consequential damages in
connection with, or arising out of, the furnishing
or use of any information or opinions.
Brand names and product names may be
trademarks or registered trademarks of their
respective owners.
LA Fox President’s Column (Con't from Page 1)
situations.

And FoxPro is at the forefront of this advance, with its
Rushmore query optimization technology, which was the focus
for most of this meeting. Rushmore operates with commands
that include a For clause containing an optimizable expression,
with files operating under Set Filter conditions, and with SQL
Select queries containing optimizable expressions in the Where
clause. The amount of performance improvement depends
largely on the relative size of the result set to the whole file, and
the relation of the query expression to the expressions for the
available indexes.

Despite the fact that Rushmore is “fully integrated and auto-
matic”, it really does require careful design and careful program-
ming to get the full benefit, or at least to stay out of the way and
let FoxPro do its thing. There are no hard and fast rules that
work in every situation, but there are guidelines that will steer
you in the right direction in laying out your data structure, build-
ing indexes, and expressing queries. If performance is really
critical, there is no substitute for carefully designed testing to
evaluate alternatives in your particular data and network envi-
ronment. As usual in complex situations, there are tradeoffs -
you may have to program for best response for one type of
query at the expense of slower response for other queries -
picking the right strategy depends on knowing your data and
knowing your queries.

Perry led us through a range of topics including the Append
From command for speed when adding records to a file, the
importance of exactly matching the For clause expression to an
index expression, the benefits of even partial optimization, the
need to build an index tag on the Deleted() function, the need to
avoid setting an Order, the benefits of Selecting into a cursor,
and many more. Needless to say, this brief column can’t do
justice to the topic, but I can point you at some other sources if
you want more information.

Much of the material we covered, including some of the same
examples, is included in George Goley’s book, Creating FoxPro
Applications. George devotes 22 pages in Chapter 15 to a
discussion of Rushmore and performance issues. This is a long
time area of specialization for George - he has written many
articles in Data Based Advisor and he speaks on this topic at
every FoxPro devcon - you won’t find it more thoroughly or
clearly described. However, this is a complex topic, and no
single approach works for everyone, so you might want to look
at David Kalman’s book, FoxPro 2.5 Developers Handbook.
David devotes 60 pages in Chapter 6 to Rushmore and SQL,
and part of Chapter 3 to indexing strategies (combination of

(Con’t, Page 3)
Page 2

2