标题:VFP 打开表时内存猛增问题
只看楼主
hkhy2
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-5-7
 问题点数:0 回复次数:7 
VFP 打开表时内存猛增问题
VFP中使用命令行打开表 Select * from table_one where field_one = '1'
// filed_one 为主键, 也就是我要查找的记录只有一条
// 表table_one 中有100万条记录。

结果是可以查找到该记录, 但是VFP占用的内存会猛增

我想是因为VFP数据库是把table_one 的所有记录都加载到内存了。

但我不想因为查找一条记录就把整个表加载到内存
各位, 请问有什么办法解决吗? 谢谢

是否有某些属性可以设置这个的。

谢谢各位了
搜索更多相关主题的帖子: VFP 内存 数据库 one 猛增 
2008-05-07 17:37
hkhy2
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-5-7
得分:0 
怎么只有人看没有人能回答?
我想在开发过程中, 这样的问题我们是一定要考虑的
2008-05-08 09:26
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
得分:0 
我想,暂时来说,表文件应该只能是整个打开的。怎样只打开一小部分?我想得去问那个叫盖什么的人了。

两人行已有我师……
2008-05-08 22:46
baichuan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:37
帖 子:953
专家分:589
注 册:2006-3-13
得分:0 
表可以只打开一部分,你可以先取出一部分到临时表!

2008-05-09 07:54
hkhy2
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-5-7
得分:0 
请问baichuan 怎样用那个临时表的

VFP中使用命令行打开表 Select * from table_one where field_one = '1'
// filed_one 为主键, 也就是我要查找的记录只有一条
// 表table_one 中有100万条记录。
如果先把100万条记录加载到内存, 再进行select操作的确不合理的
难道一个1G的表, 也加载到内存吗 对不对
2008-05-10 19:41
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
得分:0 
[bo]以下是引用 [un]baichuan[/un] 在 2008-5-9 07:54 的发言:[/bo]

表可以只打开一部分,你可以先取出一部分到临时表!


请把代码发上来,看看如何部分打开表?
use oldtable
copy to newtale
or
select * from oldtable where ....into table newtabel
也会将oldtable打开。
然后
use in oldtable
关闭算了。

认真看书学习,弄通Fox主义。
2008-05-11 21:31
baichuan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:37
帖 子:953
专家分:589
注 册:2006-3-13
得分:0 
建立索引,取前一部分;OK?

2008-05-12 08:24
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
得分:0 
同意6楼.
Select * from table_one where field_one = '1'
Use in Table_one

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2008-05-12 11:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-213004-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.139370 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved