Query查询长时间没有结果,奉送200分 (200分)

  • 主题发起人 主题发起人 luckydream
  • 开始时间 开始时间
L

luckydream

Unregistered / Unconfirmed
GUEST, unregistred user!
s:='select * from product where product.Number=4726';
Query1.SQL.Add(s);
Query1.Open;
以上程序在数据库文件 procuct.db 比较小时运行正常,但当其比较大时则运行该
程序时,没有满足查询条件数据时程序运行正常,如果有满足查询条件数据时长时间
不返回结果,如果不限定查询条件则出现“堆栈溢出“,烦请大虾帮忙,这里谢了,
因为数据有重复,不能有索引,请给出范例

在这里谢谢大家了!
我试过在number上建Secondary index ,但提示“unexpected stack overflow" 是不是
我原有的数据库文件太大了,没办法加索引吗?我是在database desktop中来加索引,烦
请高手指教,我不甚感激

 
干脆用存储过程。
 
加个索引不就快了
 
如果有答案,请给出范例,谢!
 
因为数据有重复,不能有索引
 
数据多了当然会慢一些,数据表如果没有索引会更慢,建议多加几个索引。
另外,不要动不动就写select * from ...,查出你想要的字段就行了,其他能不查的就不要查。
 
在Number上建立索引后应该有很大改善。
 
在number字段上建立索引还需要什么范例
另外如果是from单个表就不要product.了
 
建立索引
 
通过建立索引来加快速度了。
 
sql2000有向导,字段有重复数据也可以建索引。
 
建立索引,没有索引慢死你。
而且只写要查询的字段就可以了。如果允许,用视图。
 
肯定要索引的!没索引肯定慢的!
 
先排重一下吧,数据量大,真的没有办法的,速度一定要影响的。
 
还有一个很重要的影响速度的原因, 因为你使用的数据库不是真正的SQL类数据库,
如果用QUERY, 系统内部将不能直接查询,而是解释查询,
SQL类数据库(MYSQL、MSSQL、SQL SERVER、INTERBASE等)使用QUERY能真正发挥效率,
非SQL类最好还是使用TABLE效率更高, 但是在查询方面不如QUERY灵活
 
>>数据有重复,不能有索引
是不能建[red]唯一[/red]索引, 索引是肯定可以建的
 
对呀,数据重复对建索引好象关系没有太大,只要你不建唯一键值就可以了。
 
检查int,float类型数据,可能超出范围!
 
索.....引...... hehe
 
虽然我问题仍然没有解决,但感谢各位的好意,送上点分数,权当谢意
 
后退
顶部