补充一下,我设置adoquery里面的属性:cache size=1000,
cursor type=ctStatic
prepared=true
但速度变化不明显

解决方案 »

  1.   

    执行SQL之前加
    Query1.Prepare;
      

  2.   

    呵呵,听说安装DELPHI6 UPDATEPACK2可以加快速度
    可以到这里瞧瞧:http://www.csdn.net/expert/topic/597/597436.xml?temp=.8329737
      

  3.   

    数据库本身的索引有问题...虽然SQLServer很那个,但是20秒也夸张了点
      

  4.   

    数据库本身的索引有问题...虽然SQLServer很那个,但是20秒也夸张了点
      

  5.   

    表之间的连接要用INNER JOIN ,不要用WHERE XX=XX AND YY=YY方式查找. WHERE 后面避免有SUBSTR之类字符操作的函数.安排好表的结构,使WHERE 后有尽量少的AND,OR,语句越短越好.
      

  6.   

    应急的简单解决办法:用master/detail查询,为表增加一个自动增量的id 字段并建立索引,主查询用select id from chanpin ,子查询用select * from chanpin where id=:id,记录之间的移动在主查询中进行,编辑操作在子查询中进行。在字段数为54个,记录数有12万条的情况下打开表大概1、2秒(服务器为P3 750)。
    用select * from chanpin这种方式是不恰当的,很少有用户能一次浏览几百条以上的记录。C/S中的基本原则是只下载必须的数据到客户端以尽量减少网络流量。
      

  7.   

    据说有一种rushmore技术可以极大的提高查询速度。各位大虾们知不知道啊!
      

  8.   

    Foxpro? 在很久很久以前会用 rushmore 技术来提高产品的销售,有点炒作。用索引,且异步打开,即放在线程中打开数据。
      

  9.   

    这个问题应当是由于数据库本身设计的问题,其性能的优化需要在数据库端做!如果字段比较多,看这张表建的是否合理,如果是多个表的连接查询,其与条件相关的字段最好都建上cluster类的索引!最好能附上qry里边的sql语句,或许大家更能发现问题的真正所在