>I cannot get Rushmore to use an index for a filtered SQL SELECT statement.
>The result is always:
>Using index c:\xx\xxdb\pagei.cdx tag _deleted to rushmore optimize table opendir
>Rushmore optimization level for table opendir: partial
>
>I've looked at the index in the .CDX file being used and it matches my parameter.
>Here's some info about what I'm doing.
>I'm missing something, but what?
>Are my non-structural indexes a problem for Rushmore?
>I'm using VFP9 SP1.
>
>Thanks,
>Howard
>
>My table:
>Processor is Pentium
>Currently Selected Table:
>Select area: 10, Table in Use: C:\XX\XXDB\PAGE.DBF Alias: OPENDIR
> Code page: 1252
> CDX file: C:\XX\XXDB\PAGEI.CDX
> Master Index tag: PAGERNAME Collate: Machine Key: UPPER(PAGERNAME)
> Index tag: PAGERATTN Collate: Machine Key: UPPER(PAGERATTN)
> Index tag: PAGERIVR Collate: Machine Key: UPPER(PAGERIVR)
> Index tag: PAGERTYPE Collate: Machine Key: UPPER(PAGERTYPE)
> Index tag: PAGERSTAT Collate: Machine Key: UPPER(PAGERSTAT)
> Index tag: PAGERSTATD Collate: Machine Key: UPPER(PAGERSTATD)
> Index tag: PAGERFWDNU Collate: Machine Key: UPPER(PAGERFWDNU)
> Index tag: PAGERFWDNA Collate: Machine Key: UPPER(PAGERFWDNA)
> Index tag: PAGERGROUP Collate: Machine Key: UPPER(PAGERGROUP)
> Index tag: ATTNUSRDEF Collate: Machine Key: UPPER(ATTNUSRDEF)
> Index tag: _DELETED Collate: Machine Key: DELETED()
> Lock(s):
>
>My query:
>
>09:12:06.06 SELECT PAGERNAME, PAGERTYPE, PAGERATTN, PAGERSTAT, PAGERSTATD,
> PAGERFWDNU, PAGERFWDNA, PAGERGROUP, PAGERIVR, ATTNUSRDEF
> FROM openDir
> INTO ARRAY dirArrayLocal WHERE "MY KEY" = UPPER(PAGERNAME)
>
>09:12:06.07 _TALLY = 1
>09:12:06.07 CPCURRENT = 1252 CPDBF = 1252
>09:12:06.09
>Using index c:\xx\xxdb\pagei.cdx tag _deleted to rushmore optimize table opendir
>Rushmore optimization level for table opendir: partial
Howard,
You need to start from the field on the left side.
In other words, try:SELECT PAGERNAME, PAGERTYPE, PAGERATTN, PAGERSTAT, PAGERSTATD,
PAGERFWDNU, PAGERFWDNA, PAGERGROUP, PAGERIVR, ATTNUSRDEF
FROM openDir
INTO ARRAY dirArrayLocal WHERE UPPER(PAGERNAME) = "MY KEY"
If it's not broken, fix it until it is.
My Blog