免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: Catal
打印 上一主题 下一主题

SETGT与SETLL是从文件开头开始查找还是从当前位置开始查找? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-11-02 11:34 |只看该作者
话说我一直是这么理解的: SETLL/SETGT  CHAIN 这些操作符是让游标直接“飞”过去的; READ READE 则是顺序的“前进一位”的。

论坛徽章:
0
12 [报告]
发表于 2010-11-02 14:25 |只看该作者
回复 8# Catal


    怎么那么固执?我已经说得够清晰的了,用SETLL、SETGT根本就不存在A点走到B点或还是A点走到C点的问题,SETLL、SETGT是不会定位在记录上的,要与READ,READE,READP等一起操作才会定位到记录上。

论坛徽章:
0
13 [报告]
发表于 2010-11-02 17:59 |只看该作者
回复 12# mxpy


    答非所问,不过还是谢谢你。

论坛徽章:
0
14 [报告]
发表于 2010-11-02 22:00 |只看该作者
SELL和SETGT從文件(排好序的)開始定位到使用鍵值的第一條記錄的上面或下面,如果定位后往下讀取了若干條記錄,再使用相同的鍵值做SETLL或SETGT的話,定位的結果和第一次是一樣的。我寫過這樣的程序。你可以試一下,認證方法就是,第二定位后,讀取的數據和第一次定位讀取的數據一樣的。

论坛徽章:
0
15 [报告]
发表于 2010-11-02 22:44 |只看该作者
从文件头开始检索。

论坛徽章:
0
16 [报告]
发表于 2010-11-03 21:20 |只看该作者
SELL和SETGT從文件(排好序的)開始定位到使用鍵值的第一條記錄的上面或下面,如果定位后往下讀取了若干條記 ...
recmadan 发表于 2010-11-02 22:00



    我举得例子中并没有说第2次定位的键值和第1次是相同的。如果是相同的键值那么根本没有什么疑问。如果有朋友有自己的答案希望能说说出处或者怎么能证明。谢谢了。

论坛徽章:
0
17 [报告]
发表于 2010-12-14 23:20 |只看该作者
按我的理解,setll应该是通过索引检索的,所以既不是从头开始找,也不是从当前位置开始找
我不太清楚这个索引是用的什么结构
假设索引是用的二叉树形结构,那么就是从树根开始找
假设索引是用的hash表,那么就是从hash数组开始找
也可能是更复杂的索引结构,不同的结构找法也不同,但肯定不是从头或者是从当前位置顺序找

论坛徽章:
0
18 [报告]
发表于 2010-12-26 11:35 |只看该作者
setll和SETGT 都是从文件头开始  每次都是,停在键字记录前!在EQ处定义指示符,键字找到后,指示符置*on。
read、reade,才是按照当前记录顺序读!
注,reade只是读当前指针的下一条记录!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP