6

The LA Fox Developer Newsletter
January 1997
Choosing (Con't from page 5)
distributed multitier client/server applications.

O&A
Which is faster, the FoxPro engine or the Microsoft Jet
engine?
Traditionally, the FoxPro engine has been the fastest desktop
database engine. The legendary data access performance in
FoxPro stems from its Rushmore query optimization and use of
fixed-length storage of data. Rushmore creates bit-mapped
indexes that allow the engine to very quickly determine whether
each row in a table meets a criteria and should therefore be
included in a query’s result set. Fixed width storage of data
ensures that a field will be in the same location from row to row,
making that field easier to locate.

In querying situations, in particular, the difference between the
two engines may be small, due to the fact that the Microsoft Jet
engine was rewritten to use many of the performance tech-
niques originally found in the FoxPro engine.

The two engines differ in how they lock data. FoxPro locks
records whereas Microsoft Jet locks 2K pages of data. In earlier
versions of Microsoft Jet (version 2.5 and earlier), this caused
contention when adding rows because only one user at a time
could have the last page of data locked. This issue has been
addressed in the latest version of the Microsoft Jet engine,
which will allow data at the end of a table to be spread out
among several pages, thus allowing multiple users to add rows.

Microsoft Jet still locks the entire page when a row is updated,
whereas FoxPro would only lock that row. Many users updating
records that are physically near each other could lead to a
performance advantage for FoxPro. However, there are more
similarities in the latest versions of the engines (Microsoft Jet
3.5 and Visual FoxPro 5.0) than there are differences.

What is the expected byte size of the database?
A Microsoft Jet database can hold up to 1.2 GB of data. A
Visual FoxPro database has no size limitations, although each
table can hold up to 2 GB of data. Although it is certainly
possible to split the data into more than one database or table,
there is a loss of functionality (particularly referential integrity)
as well as an administrative price to pay. SQL Server can
comfortably handle databases of 200 GB of data today, and that
number is expected to grow to between 500 GB and 1 terabyte
with upcoming versions of SQL Server.

Will a Microsoft Office component be a significant part of
the solution?
From the user’s perspective, Microsoft Access has the best
visual integration with Microsoft Office. With one menu choice, a
user can take a query and send its results to Word or Microsoft
Excel. From within Microsoft Excel, the user can take a
worksheet and save it as a Microsoft Access form, report, or
table.

Will there be any speed or size requirements for the client
solution?
An important factor in determining the size and speed of an
application is whether or not the solution is compiled. Visual
C++ allows developers to write extremely tight code and has a
powerful compiler, thus allowing itto create the fastest applica-
tions. Visual Basic, Visual FoxPro, and Microsoft Access can
be used to create fast applications, but since solutions created
with these tools are not truly compiled, the user’s computer
must have enough memory to support both the custom solution
and the run-time library or Visual Tool. (For solutions that are
not compiled to run, the appropriate visual tool’s run-time library
must be in active memory.)

Learning curves?
The Visual Tool with the shortest learning curve is Microsoft
Access. Visual FoxPro is the next easiest to learn, followed by
Visual Basic. Learning Visual C++ requires a large time
investment, due to the fine degree of control it provides and the
complexity of the language.


Data Changes (Con? from page 3)
replace
all valid with “zlChange(’v’)”, validtype with 0
for obJtype 15 and between(objcode,1,2);
and empty(valid)


[Ed. Note: ‘zlChange.prg” is available on Nelson’s site at http:/
/www.mnsinc.com/consultl.J


Out and About (Con’t from page 2)

to do with the group, check the Website. Granted, it’s still in
the “construction” phase, but it looks pretty good. When
completed, you’ll be able to go to the site, and be hotlinked to
any other FoxPro developer group sites on the ‘Net. You’ll also
be able to download files and session demos from our meet-
ings. While you’re there (http://wvwi.mesllc.com), check out the
latest news on Spring Conference ‘97. The event is changing
and growing everyday, and this is the place to keep track of it.
Since originally announced, the conference has expanded from
4 tracks to 5 tracks. The 5th track is going to be a separate
session room where conference attendees will be able to hear
“Product Speaker” sessions. That’s apart from the vendor trade
show, which was also recently added. <g> At $199 for early
registration, it’s the most cost-effective thing going.

Newly-Discovered URLs. Check these sites out:
http://www.snmp.cs.utwente.nl
http://www.cs.unc.edu/Research/nano
http://www.hotwired.com/wired/scenarios/museum.html
http://www.ncar.ucar.edu/METACINHP.html
http://www.epic.org
http://www.macromedia.com/shockwave/epicenter/guide/
games.html
http://www.nearlyroadkill.com
httpi/www.bookwire.com
Page 6

6