1. 程式人生 > >體驗sql語句不同寫法的效率

體驗sql語句不同寫法的效率

體驗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:迴圈的方法

  1. 當計算10000行的時候28秒才能完成。
  2. 稍微修改了一下

  1. 主要動的是註釋掉的那一行,這樣後計算10000行,需要19秒,可見用選擇語句賦值耗費掉的時間。
  2. 我這邊測試的資料有14萬行資料,計算了420秒後實在等不下去了,需要優化,改用遊標的方法。

方法2:遊標的方法

  1. 計算10000行資料瞬間完成了。
  2. 計算所有資料也不到10秒鐘,由此可體驗到sql程式設計的效率問題。