Office中国论坛/Access中国论坛

标题: 查询IIF优化 [打印本页]

作者: jiutianxingchen    时间: 2018-9-14 15:31
标题: 查询IIF优化
本帖最后由 jiutianxingchen 于 2018-9-14 15:33 编辑

前言说明:
本程序是2013年制作的一个程序,只知道些皮毛而已,程序一直在用,后来数据逐渐增多,查询有些吃力,现在后台"HCM订单"表升级为SQL server表,存储了2013-2018年的6年数据,大约43万条数据,查询延时有点大,本想做远程客户端登录,查询转换为存储过程,但是转换之后提示内存不足,或者直接卡死,我想应该还是查询没做好。本实例删减大部分内容,数据表仅保存2018年5月6月这两个月的数据。希望各位大侠能够给些建议,如何才能优化这个查询。
说明:
1,HCM订单表,字段都带前缀“ns1:”不利于查询,新程序将更正。
2,昨天听R大神说,要改IIF条件为表,然后左连接,我知道一些简单字段单个或双个条件的关联,可是多条件的怎么办?还有我的查询中比如需要根据产品面积再判断别的字段的情况,但是表中只给了长,宽,长修正,宽修正,所以有点复杂,另外因为需要面积这个参数,我又不得不弄了个套嵌的查询,使查询变得更慢。
3,如果所有IIF条件都变成表连接,会有几十个表连接,有些字段还是相互交互使用,会不会也慢啊?
4,说下我的流程,导入订单,打印普单,大头,英文单
5,如果一个订单报表分为2页,会加载更为缓慢(英文单大头打印),单页的(英文单普单打印)稍微快点,有解决办法吗?


作者: roych    时间: 2018-9-18 10:02
看得有点头疼啊。
个人觉得,表设计存在的问题比较多。如果时间来得及的话,最好推翻重来。这样硬编码(hard coding)是存在很大问题的。一旦要修正参数了,改函数极易出错。
作者: jiutianxingchen    时间: 2018-9-26 14:35
roych 发表于 2018-9-18 10:02
看得有点头疼啊。
个人觉得,表设计存在的问题比较多。如果时间来得及的话,最好推翻重来。这样硬编码(ha ...

谢谢Roych大神,算是曲线解决了吧,先每日订单导入,分解查询处理,存入表格,再打印单子报表
作者: xlpxlp    时间: 2020-8-26 14:23
谢谢




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3