Foxtable(狐表)用户栏目专家坐堂 → 读取服务器数据效率的疑问


  共有1413人关注过本帖树形打印复制链接

主题:读取服务器数据效率的疑问

帅哥哟,离线,有人找我吗?
有点辣
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:66 积分:606 威望:0 精华:0 注册:2014/3/4 13:09:00
读取服务器数据效率的疑问  发帖心情 Post By:2017/12/28 15:50:00 [只看该作者]

员工名单有上千人,初始不加载数据。

一份绩效数据(数据量不大,不到百条)要导入系统,里面有员工编号字段

想着通过员工编号来关联员工名单表里的职位、薪金等基础数据

通过代码导入绩效表里的员工编号,然后在datacolchanged事件里用sqlfind来查找员工表的记录

本以为后台查找几千条记录会慢,就先用sq lcom mand,选择性加载所需字段,生成临时表,在临时表里find查找

想着这么会快些,结果发现这样很慢,甚至几秒才出来一条记录

于是改为sqlfind,发现速度挺快,可以接受

我就好奇了,应该是用sq l 语句加载到内存里,再查找会很快呀,怎么反而慢呢?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/28 15:59:00 [只看该作者]

1、你是每一次查找,都生成临时表?临时表是只需要生成一次的。

 

2、在afterOpenProject事件或者其它事件,生成一个临时表一次,之后不要重复生成。之后直接用find。

 

3、使用find肯定比sqlFind要快,而且快很多,这个不可能变。


 回到顶部
帅哥哟,离线,有人找我吗?
有点辣
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:66 积分:606 威望:0 精华:0 注册:2014/3/4 13:09:00
  发帖心情 Post By:2017/12/28 16:36:00 [只看该作者]

是在datacolchanged里写的生成临时表

 

在导入按钮的单击事件里写sqlc ommand来生成临时表的话,怎么在datacolchanged事件里引用呢?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/28 17:04:00 [只看该作者]

以下是引用有点辣在2017/12/28 16:36:00的发言:

是在datacolchanged里写的生成临时表

 

在导入按钮的单击事件里写sqlc ommand来生成临时表的话,怎么在datacolchanged事件里引用呢?

 

用一个全局变量记录即可,如

 

vars("临时表") = cmd.ExecuteReader()


 回到顶部