体验sql语句不同写法的效率
--荆兆春
Sql语句不同写法之间的效率肯定存在差异,但我也没有想到差别会这么大,下面就用一个实例来探讨一下。
业务场景:计算仓库库存台账的余额。
序号
|
物料ID
|
仓库ID
|
批号
|
入库数
|
出库数
|
库存数
|
1
|
1000
|
1000
|
|
200
|
|
|
2
|
1000
|
1000
|
|
|
10
|
|
3
|
1000
|
1000
|
|
|
20
|
|
4
|
1000
|
1001
|
|
300
|
|
|
5
|
1000
|
1001
|
|
|
20
|
|
6
|
1000
|
1001
|
|
|
30
|
|
7
|
1001
|
1002
|
|
400
|
|
|
要求:按物料+仓库+批号计算每一行的库存余额。
方法1:循环的方法

- 当计算10000行的时候28秒才能完成。
- 稍微修改了一下

- 主要动的是注释掉的那一行,这样后计算10000行,需要19秒,可见用选择语句赋值耗费掉的时间。
- 我这边测试的数据有14万行数据,计算了420秒后实在等不下去了,需要优化,改用游标的方法。
方法2:游标的方法

- 计算10000行数据瞬间完成了。
- 计算所有数据也不到10秒钟,由此可体验到sql编程的效率问题。
相关文章:
-
2021-12-07
-
2021-11-03
-
2021-10-22
-
2022-12-23
-
2021-07-25
-
2022-02-18
-
2022-12-23
-
2022-12-23