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, 很可怕. 

解决方案 »

  1.   

    1.语句好象简单不了,一旦把=.t.去掉,就是"SQL 内部错误".2.也就是说,我需要建立tabel2关于field1和field2的索引了。
       我这样做了:
         第一次:use table2,然后modi stru,建立field1 和field2的普通索引.
               然后再sql,结果sys(3054,1)的报告是:
                Rushmore的优化级别表 table1:无
                Rushmore的优化级别表 table2:无
         第二次:在外部分别inde on了field1和field2。结果仍是无。
     
      是不是这样的语句无法使用索引来优化?还是我建立优化索引的方法不对?3.唉,没办法。要求如此。
      

  2.   

    经过试验, "1.语句好象简单不了,一旦把=.t.去掉,就是"SQL 内部错误"."的确如此! 这VFP真衰!既然如此, Rushmore是别想了.
      

  3.   

    没希望了,唉,今天晚上通宵运行比对吧。谢谢nononono(null,null)关注在下的问题。