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 techniques 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 applications. 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 meetings. 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