本人正在做一个人事管理系统,在做一个查询时,不知为何特别慢,语句如下:
adsRelation.Locate('sRelation',Node.Text,[]);
有没有更快的查询方法.解决问题的高分送上.

解决方案 »

  1.   

    将字段'sRelation'建立Index,字段类型尽量用char,varchar,nchar,nvarchar等
      

  2.   

    用SQL语句查询
    'select * from a where a.sRelation like ''%'+Node.Text+'%'''
      

  3.   

    加索引,然后使用sql 语句查询,这样就 比较快
      

  4.   

    我想肯定是你其他地方浪费了时间,这条Locate不可能慢程这么离谱,
    建议你设置断点跟踪一下,有可能是AfterScroll中的代码反复执行了
      

  5.   

    建议不要用database控件locate
    改用tabel控件或者query控件
      

  6.   

    写为SQL好一点了如果有很多语句的话可以写为存储过程,那样的执行效果会更好一点了
      

  7.   

    这么小的查询没有必要用存储过程
    直接用sql查询定位
      

  8.   

    不可能吧,如果是这样的话,就是SQL中建索引,或DELPHI中,  .index=sRelation