Home  TOC
Rushmore Technology - The Heart of The Fox

What Is Rushmore

Rushmore is a data access technique that permits sets of records to be accessed very efficiently. Rushmore query optimization uses indexes efficiently to quickly find a set of records. It is used on queries that involve restrictions on multiple-indexed fields. Rushmore is an exclusive technology for rapidly selecting sets of records from tables. It can reduce query response times from hours or minutes to seconds.

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.

Starting with the Rushmore query technology in the Visual FoxPro 2.0 release, FoxPro's primary attraction has been its fast data engine. It doesn't seem to have lost that edge over the years: posted reports on the newsgroups claim the new release of Visual FoxPro is twice as fast as SQL Server, for 50 users or less.

Why This Technology is Named Rushmore

The Fox Software design team came up with the "code-name" Rushmore after spending a night watching the Alfred Hitchcock's movie "North by Northwest".

"North by Northwest" (1959) is an Alfred Hitchcock classic, suspenseful comic thriller - one of the most entertaining movies ever made and one of his most famous suspense/mystery stories.

The film's theme includes elements typical of many Hitchcock films (especially "The 39 Steps" (1935) and "Saboteur" (1942)) - predominantly the themes of mistaken identity for the innocent ordinary hero, false pretenses and survival in 20th Century America.

A light-hearted and complacent hero/bystander (Cary Grant in the role of Roger Thornhill, a Manhattan advertising executive), totally vulnerable, isolated and victimized (and mistaken for a government agent by a group of spies), is on-the-run as a murder suspect (framed for murder at the UN), and pursued (across the US) by a seeming conspiratorial group of spies, the police, and the FBI. The American is eventually forced to assume another man's identity, while confronted with murder, mayhem, a world of spies and counterspies, a domineering mother, and an untrustworthy lover. His final salvation occurs on the Presidential faces carved on Mount Rushmore.

The original title was "The Man In Lincoln's Nose", which was replaced by a reference to a line from William Shakespeare’s "Hamlet" (in which Hamlet says, "I am but mad north-north-west.").

Understanding Rushmore Technology

Rushmore technology is a data access technique that uses standard Visual FoxPro indexes to optimize access to data. You can use Rushmore with any Visual FoxPro index, including FoxPro 1.x (.idx) indexes, compact (.idx) indexes, and compound (.cdx) indexes.

Both .cdx and compact .idx indexes use a compression technique that produces indexes as small as one-sixth the size of uncompressed old-format indexes. Visual FoxPro can process a compressed index faster because it requires less disk access, and because more of the index can be buffered in memory. Although Rushmore, like other file access techniques, benefits from the smaller size of compact indexes, it also functions very well with indexes in older formats.

When Visual FoxPro processes very large tables on computers with only the minimum amount of RAM, Rushmore might not find sufficient memory to operate. In that case, Visual FoxPro might display a warning message (“Not enough memory for optimization”). Although your program will function correctly and without losing any data, the query will not benefit from Rushmore optimization.

In its simplest form, Rushmore speeds the performance of single-table commands using FOR clauses that specify sets of records in terms of existing indexes. Also, Rushmore can speed the operation of certain commands such as LOCATE and INDEX.

Visual FoxPro SQL commands use Rushmore as a basic tool in multi-table query optimization, using existing indexes and even creating new ad-hoc indexes to speed queries.

Home  TOC

If you have any information that can help us to compile this history, please, send us a message. Thanks!