Like Tim, I use CDX indexes (a technology that I think originated with Foxpro). You activate it via the REQUEST command at the top of your app's main PRG, as REQUEST DBFCDX. To use Foxpro memos, you can also REQUEST DBFFPT (though I think this may now be unnecessary, as it may automatically occur with REQUEST DBFCDX. Again, some of this stuff was learned so long ago that I'm a little hazy on it.) Then near the top of your Main() function/procedure, you say RDDSETDEFAULT("DBFCDX"). As I recall, NDX indexes are dBase indexes, and CDX uses a Foxpro technology ("Rushmore"?) that's much more efficient and faster.
If you use RDDSETDEFAULT() then you don't have to identify the indexing method you're using when opening the table. Otherwise, you have to open as follows: USE (cFile) ALIAS MyDbf VIA "DBFCDX" SHARED NEW.
Switching over to FPT memos, which go with CDX indexes as I recall, requires putting each table through a simple automated conversion process. If you what to see how I did it, going from Flexfile DBV memos to FPT Foxpro memos, just download two files from my website:
http://www.leadersoft.com/files/DVF2FPT.LNKhttp://www.leadersoft.com/files/DBF2FPT.PRGThis PRG can be easily modified to transfer from DBT to FPT instead of DBV to FPT, if that is what you need. It automatically converts all memo files within a folder.
As for the indexes, just rebuild them after stating one way or the other (above) that you are working with CDX. The syntax is a little different than for NDX, but I think this syntax is all available online on Clipper support sites. If you can't find it, let me know and I'll scratch it up for you.
Hope this helps.
- R