1. 首先, 语句应该简单些:
SELE *;
from table1,table2;
where alltrim(table1.field1)$table2.field1;
and alltrim(table1.field2)$table2.field2;
into table temp2. 关于RUSHMORE, 它是基于索引的. 如果一个索引的表达式与条件表达式中等号左边的表达式相同, VFP可以自动地使用索引. 如果语句是 "select * from table where alltrim(field1)=XXX and dtos(field1)=XXX ", VFP会自动寻找的表达式是 "alltrim(field1)" 和 "dtos(field1)" 的索引.
对于 "alltrim(table1.field2)$table2.field2" 的表达式, 也许可以使用table2的 "field2" 的索引, 也许不能使用.3. 你的语句本来就是很复杂的, 条件的运算次数是 10000*860000, 很可怕.
SELE *;
from table1,table2;
where alltrim(table1.field1)$table2.field1;
and alltrim(table1.field2)$table2.field2;
into table temp2. 关于RUSHMORE, 它是基于索引的. 如果一个索引的表达式与条件表达式中等号左边的表达式相同, VFP可以自动地使用索引. 如果语句是 "select * from table where alltrim(field1)=XXX and dtos(field1)=XXX ", VFP会自动寻找的表达式是 "alltrim(field1)" 和 "dtos(field1)" 的索引.
对于 "alltrim(table1.field2)$table2.field2" 的表达式, 也许可以使用table2的 "field2" 的索引, 也许不能使用.3. 你的语句本来就是很复杂的, 条件的运算次数是 10000*860000, 很可怕.
我这样做了:
第一次:use table2,然后modi stru,建立field1 和field2的普通索引.
然后再sql,结果sys(3054,1)的报告是:
Rushmore的优化级别表 table1:无
Rushmore的优化级别表 table2:无
第二次:在外部分别inde on了field1和field2。结果仍是无。
是不是这样的语句无法使用索引来优化?还是我建立优化索引的方法不对?3.唉,没办法。要求如此。