[VB&.NET]ppyyff 21:50:34
弄了半天才突然明白
[VB&.NET]ppyyff 21:52:28
一个数组的重复数删除时,查到重复的数后做个标记,存个临时文件,然后再打开,比通过循环删除一个数据要快得多!
CADExcelVBLisp 21:53:31
重复删除可是软件大型算法,建议使用: Dictionary对象
[VB&.NET]ppyyff 21:56:24
也是哟,没去搜索那些算法,在差8万个点重复数时,发现很慢,然后就做个临时文件一下就提高了很多
在路上26 22:03:14
我有个EXCEL,有2000行,然后需要到几个表中(大概几万行,去搜索数据),怎么弄,能快点?
在路上26 22:03:57
我现在从A表读读出来,让excel自动去查,感觉好慢啊,有没有路径能提高呢??
Alber 22:04:19
数据库检索
在路上26 22:04:41
把excel中的内容导入到数据库?
Alber 22:05:12
excel本身也可以作为数据库
在路上26 22:07:52
[qqimg]201311/{683D0776-9E64-FDD4-1BE9-AB375519AF7C}.jpg[/qqimg],我现在是用这个去寻找
跟数据库是一个意思吗??
Alber 22:08:41
数据库的高效率在于sql语言结构。
在路上26 22:09:20
嗯,关键是速度快不快呢?
亦凡天空 22:10:44
你会所呢
你说呢
CADExcelVBLisp 22:10:52
这还用说吧,数据库已经半速度发挥到极至
一个普通人能写出达到它一半速度的代码就是顶尖的高手。
好像是哈斯什么的
[VB&.NET]ppyyff 22:12:27
CADExcelVBLisp 22:12:45
find方法超过一万行时速度就下来了。肯定不能这样。
至少也得在数组中查询
较慢的还有:collection
在路上26 22:13:29
我的是2000数据量,在十万级别的数据里,找到关键字相同的数据!
CADExcelVBLisp 22:13:58
赶紧换成标准数据库
[VB&.NET]ppyyff 22:14:29
大数据还是用数据库来得快
在路上26 22:14:31
你的意思是,我把2000行的源数据,读出来,组成数组,然后我从十万个数据里,挑选出一个,去跟数组匹配?
嗯,可实际都是excel表数据
CADExcelVBLisp 22:14:51
Excel本身自带的:筛选……等就是极至工具,微软的代码可不是点儿半点的。
亦凡天空 22:14:51
基本上万的数据检索量,直接就用数据库了
CADExcelVBLisp 22:15:12
你都十万数据还Excel?
亦凡天空 22:15:18
哪怕你就用access 都是极好的
CADExcelVBLisp 22:15:33
读取这样的数组就得好长时间
在路上26 22:17:24
但把数据写入access,是不是也很费时间啊?
[VB&.NET]ppyyff 22:18:04
直接导进去就是吧
亦凡天空 22:18:22
1、存储时就用ACCESS存储
2、你费的也就是一次写入的时间而已。。。之后就节省多了
在路上26 22:18:38
可我的查询都是临时的啊
Alber 22:18:51
亦凡天空 22:18:57
你依旧没领会
Alber 22:19:03
初期的时间就是为了后期的省事
亦凡天空 22:19:03
不早了 睡觉
只有尝试,你才知道 自己动手后再来
在路上26 22:19:27
只是想在N个表中,找到A的资料!
在路上26 22:19:57
我用find已经实现了,但时间太长,2000*6000,大概要十分钟
想要加速啊
CADExcelVBLisp 22:23:44
那就写个数组循环,判断合格的弄到另一个数组中去。
[VB&.NET]ppyyff 22:25:46
access可以直接打开excel文件
在路上26 22:27:27
,我用查数据库的方法去尝试一下吧
[VB&.NET]ppyyff 22:28:17
你打开看看,记得以前是直接打开的
在路上26 22:29:19
用ADO直接连接,查询?就是不知道速度!
[VB&.NET]ppyyff 22:29:53
应该很快的,好久没摸那个玩意,我也不知道
Alber 22:30:19
数据库绝对超乎你的想象。
[VB&.NET]ppyyff 22:31:05
下次找你们学学数据库
在路上26 22:31:44
嗯,我实验出效果,告诉你们 |