Foxtable(狐表)用户栏目专家坐堂 → [求助]父表与子表同步加载 ,in 语法非常慢!--已解决


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

主题:[求助]父表与子表同步加载 ,in 语法非常慢!--已解决

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


加好友 发短信
等级:四尾狐 帖子:941 积分:7786 威望:0 精华:0 注册:2013/7/7 13:37:00
[求助]父表与子表同步加载 ,in 语法非常慢!--已解决  发帖心情 Post By:2013/11/18 12:05:00 [显示全部帖子]

由于要经常更新关联订单的相关所有表,所以 用in 语法代入很多订单号
OrderID IN ('ACT201309-001', 'ACT201309-002', 'ACT201309-003', 'ACT201309-004', 'ACT201309-005', 'ACT201309-006', 'ACT201309-007', 'ACT201309-008',  'ACT201309-009', 'ACT201309-010', 'ACT201309-011', 'ACT201309-012', 'ACT201309-013', 'ACT201309-014', 'ACT201309-015', 'ACT201309-016', 'ACT201309-017',    'ACT201309-018', 'ACT201309-019', 'ACT201309-020', 'ACT201309-021', 'ACT201309-023', 'ACT201309-024', 'ACT201309-025', 'ACT201310-001', 'ACT201310-002',  'ACT201310-003', 'ACT201310-004', 'ACT201310-005', 'ACT201310-006', 'ACT201310-007', 'ACT201310-008', 'ACT201310-009', 'ACT201310-010', 'ACT201310-011',  'ACT201310-012', 'ACT201310-013', 'ACT201310-014', 'ACT201310-015', 'ACT201310-016', 'ACT201310-017', 'ACT201310-018', 'ACT201310-019', 'ACT201310-020',   'ACT201310-021', 'ACT201310-022', 'ACT201310-023', 'ACT201310-024', 'ACT201310-025', 'ACT201310-026', 'ACT201310-027', 'ACT201310-028', 'ACT201310-029',  'ACT201310-030', 'ACT201310-031', 'ACT201310-032', 'ACT201310-033', 'ACT201310-034', 'ACT201310-035', 'ACT201310-036', 'ACT201310-037', 'ACT201310-038', 
  'ACT201310-039', 'ACT201310-040', 'ACT201310-041', 'ACT201310-042')

DataTables("子表").LoadFilter = "OrderID In (" & ids & ")"
……………


结果发现子表更新很慢,请问大家有什么好方法没有?
[此贴子已经被作者于2013-11-19 15:07:32编辑过]

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


加好友 发短信
等级:四尾狐 帖子:941 积分:7786 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/11/18 13:29:00 [显示全部帖子]

刚才测试下时间
BagRegList表  2145条记录,  载入用时8秒
OrderProductProcess表   196条记录,  载入用时17秒

怎么记录少反而用时这么长?

Dim st As Date = Date.Now

DataTables("BagRegList").LoadFilter = "OrderID In ('ACT201309-001', 'ACT201309-002', 'ACT201309-003', 'ACT201309-004', 'ACT201309-005', 'ACT201309-006', 'ACT201309-007', 'ACT201309-008', 'ACT201309-009', 'ACT201309-010', 'ACT201309-011', 'ACT201309-012', 'ACT201309-013', 'ACT201309-014', 'ACT201309-015', 'ACT201309-016', 'ACT201309-017', 'ACT201309-018', 'ACT201309-019', 'ACT201309-020', 'ACT201309-021', 'ACT201309-023', 'ACT201309-024', 'ACT201309-025', 'ACT201310-001', 'ACT201310-002', 'ACT201310-003', 'ACT201310-004', 'ACT201310-005', 'ACT201310-006', 'ACT201310-007', 'ACT201310-008', 'ACT201310-009', 'ACT201310-010', 'ACT201310-011', 'ACT201310-012', 'ACT201310-013', 'ACT201310-014', 'ACT201310-015', 'ACT201310-016', 'ACT201310-017', 'ACT201310-018', 'ACT201310-019', 'ACT201310-020', 'ACT201310-021', 'ACT201310-022', 'ACT201310-023', 'ACT201310-024', 'ACT201310-025', 'ACT201310-026', 'ACT201310-027', 'ACT201310-028', 'ACT201310-029', 'ACT201310-030', 'ACT201310-031', 'ACT201310-032', 'ACT201310-033', 'ACT201310-034', 'ACT201310-035', 'ACT201310-036', 'ACT201310-037', 'ACT201310-038', 'ACT201310-039', 'ACT201310-040', 'ACT201310-041', 'ACT201310-042')"
DataTables("BagRegList").Load()

MessageBox.Show("耗时: " & (Date.Now - st).TotalSeconds & "秒")


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


加好友 发短信
等级:四尾狐 帖子:941 积分:7786 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/11/18 13:59:00 [显示全部帖子]

我代码里放的是变量,为了演示方便  才把变量内容写出来 的。

其实 我的的代码意图是  载入最近的60个订单及其相关的子表,它相关的子表有15个。

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


加好友 发短信
等级:四尾狐 帖子:941 积分:7786 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/11/19 9:33:00 [显示全部帖子]

字符串 也可以用 大于 小于吗?

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


加好友 发短信
等级:四尾狐 帖子:941 积分:7786 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/11/19 15:07:00 [显示全部帖子]

原因已找到,我的关联表达式在更新时没去除干净!
感谢bin老师,狐爸,有点甜等各位老师的关注与启发。



 回到顶部