Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

Access的查询速度优化问题

狮子炎王  发表于:2020-07-29 20:52:25  
复制

三个表的结构

需要查询表1的700条商品编码的价格、区域1、库存等信息,


第一种语句,耗时10分钟左右


SELECT 表1.商品编码, 商品表.品名, 商品表.价格, 商品表.区域1, 库存表.库存
FROM 库存表 INNER JOIN (表1 INNER JOIN 商品表 ON 表1.商品编码 = 商品表.商品编码) ON 库存表.商品编码 = 商品表.商品编码
WHERE (((库存表.部门)="A"));




第二种语句,耗时1秒

SELECT 商品表.商品编码, 商品表.品名, 商品表.价格, 商品表.区域1, 库存表.库存
FROM 库存表 INNER JOIN 商品表 ON 库存表.商品编码 = 商品表.商品编码
WHERE (((商品表.商品编码) In ("6132478412","6243158791","6412351265",.....写完表1的700条商品编码)) AND ((库存表.部门)="A"));


第二种快,但是查询条件要写完700条编码不现实,第一种直接连接三个表查询,但是速度太慢,请问如何优化

 

Top
name 发表于:2020-07-29 21:23:43
SELECT 商品表.商品编码, 商品表.品名, 商品表.价格, 商品表.区域1, 库存表.库存
FROM 库存表 INNER JOIN 商品表 ON 库存表.商品编码 = 商品表.商品编码
WHERE (((商品表.商品编码) In (select 商品编码 from 表1)) AND ((库存表.部门)="A"));

狮子炎王 发表于:2020-07-29 22:35:16
谢谢,可是不行,还是慢,近10分钟 查询条件用这个(商品表.商品编码) In ('621455555','654452255','65478965'........写完700个编码)就是秒出结果

AngelHis 发表于:2020-07-29 23:38:24
看看每个表的索引

总记录:3篇  页次:1/1 9 1 :