还是LOOKUP字段问题,性能,还是性能.高手指路. ( 积分: 100 )

  • 主题发起人 主题发起人 leadroy
  • 开始时间 开始时间
L

leadroy

Unregistered / Unconfirmed
GUEST, unregistred user!
一物品表,sqlserver的,有2万多记录,在销售人员制作定单时只需要选择物品ID后就可以自动在表格中显示物品名,型号,规格等数据.这些字段都是LOOKUP字段.
用SQL事件跟踪器,看看在输入时整个物品表都打开了.慢得很.这就是我现在的问题.有没有不用Lookup字段的方法.
我看很多商用软件他们也可以这样做,但是跟踪他们的操作时,是没有打开全部的Lookup表,问题出在什么地方,网上也查了一天,没有很好的解决方案.这边高手多,请帮助一下.
 
还有什么LookupComboBox,这种东西用是好用,但是性能真的不能想,如我的ListSouce指定到一个客户表,可以选择客户,很方便,但是如客户表中有2万记录,这个性能我是不能接受的。慢。2万记录列在一个清单中,你想找的话,我想需要10分钟才能找到你的记录。

现在我都是做一个查询器,用于返回选择的客户ID号,但是返回了客户ID号后,客户的名称及客户电话什么的数据都是在客户表中的,又要使用Lookup字段,又要慢了。
如不返回客户名称及电话什么的,销售人员在选择了一个客户后只返回一个ID号,销售人员有可能根本这知道他选择了什么客户,ID号不能代表什么。
 
可能没有完全看懂你说的,如果是我,我可能会根据用户的输入信息,再决定填入什么信息。我可能会使用combobox,当用户选择了id的时候,我再使用sql语句把精确的信息填入combobox供用户选择。
 
再说一下。比较急,说话没说清。
[blue]销售人员做订单,订单主表要选择客户,客户记录有2万多,打开客户选择器,选择客户后,返回客户ID给订单表单,订单表单得到用户ID,没有问题。也可以同时返回客户公司名称,可是保存后再打开,客户公司名一定不会出现,由于在我的订单表中没有客户名,只有客户ID,用LookupCombobox好解决,用Lookup字段好解决,可是性能不行,这样做会将客户表全部打开,多大的数据。[/blue]

[green]再说订单明细表,销售人员选择产品ID没问题,用Lookup字段可以将产品名,型号都同时显示在表格中,不错,但是这样也会同时打开所有的产品表,10万多数据,太大,不行。不能用Lookup字段,不然客户会杀我也。[/green]

就是这个问题,这个问题原来在做小系统时没有关心,现在不同,客户的数据实在太大。
 
[red]Lookup字段好用,性能,还是性能。
ListCombobox好用,性能,还是性能。
[/red]
什么方法好用,性能好,那就好。
我好,我想大家一定都好。我不好,大家也好。可是我真是不是太好。白天不好,晚上不好。吃饭不好,什么都不好。
大家救我。​
 
比如说在输入客户时候输入一个客户名称按拼音进行编码为代码模糊查询出来,在另外一窗口里可以再进行一次过滤,这样可能比你一次性打开全部再选择一条要好点吧,数据量要小点
 
就是使用sql语句进行过滤一次。
 
控件连接的数据源过滤一下吧
 
都不是很好的解决方案。没办法。我看了这个方案,使用也不是很好,不过可以用了。性能不错。
http://book.csdn.net/bookfiles/155/1001556655.shtml
 
这个问题值得关注。
我有一个3000多条记录的产品表,现在使用的是用SQL进行选择查询而不是lookup字段的方式。虽然我也很想用lookup字段,但由于考虑到速度方面的不利因素,所以还是没有用。
另外,关于楼主的问题,在录入数据时为何要用一个列表让用户进行选择?光是打开那个列表我估计也够受了。用一个text让用户输入ID,输入完成按下回车后再根据ID对物品表查询,将对应的数据填充到品名、型号、规格中不行么?
 
后退
顶部