Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
The best way to use a portion of a field for indexing
Message
From
10/01/2005 16:16:48
Cetin Basoz
Engineerica Inc.
Izmir, Turkey
 
 
To
10/01/2005 16:06:01
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 6 SP5
OS:
Windows XP SP2
Network:
Windows 2000 Server
Database:
Visual FoxPro
Miscellaneous
Thread ID:
00975802
Message ID:
00975811
Views:
22
>I have a uniqueindex made like FAI2005-000001. It is based on the year the record was input. When a new record is added I need the last unique id plus 1. My SQL statement I use is:
>
>Select faiuniqueid From fai_required Where Val(SubStr(faiuniqueid,4,4)) = Year(Date()) InTo Cursor myFAIlist
>
>This sql statement runs very slow on our older computers. Is there a way to do this different to make it faster?

Steven,
I assume your index expression is directly the field name (ie: value stored in index is directly FAI2005-000001).

Select faiuniqueid From fai_required Where faiuniqueid = 'FAI'+padl(year(date()),4) InTo Cursor myFAIlist

Should make it faster. Or even you don't need a select to get max. Set order to desc, seek to that value.

Cetin
Çetin Basöz

The way to Go
Flutter - For mobile, web and desktop.
World's most advanced open source relational database.
.Net for foxheads - Blog (main)
FoxSharp - Blog (mirror)
Welcome to FoxyClasses

LinqPad - C#,VB,F#,SQL,eSQL ... scratchpad
Previous
Reply
Map
View

Click here to load this message in the networking platform