专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VFP

请问:关于服务器文件搜索速度慢的解决办法

发布时间:2010-05-24 21:53:33 文章来源:www.iduyao.cn 采编人员:星星草
请教:关于服务器文件搜索速度慢的解决方法
我现在做了一个程序,其功能是完成向服务器发送文件和在服务器上搜过文件,发送文件的方法我用是拷贝(非常笨的办法),拷贝完成后向服务器端程序发送信息,服务器会根据信息将文件分文件夹保存。之后客户端需要使用这些数据是会到这些文件夹上去找,但因为数据量太大,速度太慢,有时在服务器上找一个文件需要5分钟甚至是10分钟,有没有好的办法实现对服务器文件的查询?
我的具体实现方法如下:
客户端用adir()   函数取得服务器某一个文件夹的文件清单,判断是否是要查询的文件,不是则在用相同的方法取得服务器另一个文件夹下的文件清单,再判断,余此类推,因为文件夹太多,所以速度太慢。

请高手指教!谢谢!

------解决方案--------------------
方法一
可以考虑在服务器把文件放到目录中时,同时将文件名和路径保存到一个数据库中,取用时先到数据库中按文件名查找路径再调用
方法二
文件存放目录按文件名分级存放,如将p07061100001.jpg放为p07061100p07061100001.jpg,取用文件时,根据文件名计算存放目录

------解决方案--------------------
1、文件层次比较深。
2、随着时间的增加,数据会越来越多。
3、用ADIR。

综合以上,肯定会慢。


建议:
1、文件存放能不能简单一些。
2、用shxmh(皇兄)的方法一在数据库存放文件路径。
3、不用Adir,直接调用Windows的搜索,

如:
在vfp中,只知道文件名,但不知道所在路径,如何获得此文件所在的路径?
*----------------------------------------------

&&首先建一个批处理文件,取名为‘find.bat’,其内容为:
@c:
@cd
@dir 712abc.txt /s > c:temp.txt
@exit
&&c:表示要在C盘查找此文件,712abc.txt为要查找的文件,> c:temp.txt表示把查找的结果写入temp.txt文件


&&然后在VFP执行:
CLEAR
RUN /n2 c:111find.bat
INKEY(10) &&等待批处理执行完毕
cRedist=FILETOSTR( "c:temp.TXT ") &&将一个文件的内容返回为一个字符串
J=OCCURS( "的目录 ",cRedist)
IF J> 0
MESSAGEBOX( "此文件的所在路径为: "+SUBSTR(ALLTRIM(MLINE(cRedist,ATLINE( "的目录 ",cRedist))),1,LEN(ALLTRIM(MLINE(cRedist,ATLINE( "的目录 ",cRedist))))-7),64, "信息提示 ")
ELSE
MESSAGEBOX( "没有找到此文件 ",48, "信息提示 ")
ENDIF
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: