iT邦幫忙

0

MSSQL計算欄位與實體欄效能差異

  • 分享至 

  • xImage

您好:
若TABLE中有很多欄位,欄位監會需要計算

但欄位有2個類型
實體欄位:B-A (邏輯另計),前端填入後,寫入TABLE;撈取時直接撈取
計算欄位:只抓B-A(邏輯另計),應該撈取時才計算

這樣,兩者間效能差異會很大嗎?
謝謝

SunM0on iT邦新手 4 級 ‧ 2024-09-12 14:37:37 檢舉
這牽扯到妳的運算規則,如果只是單純加減沒啥問題,但如果存在一些function、加解密運算就不一定了,但妳說了邏輯另計,單純比較純撈取跟撈B-A的話是幾乎沒差的,但記得運算規則很複雜的話,資料量越大,兩者耗費的時間差距自然會越大
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
sam0407
iT邦大師 1 級 ‧ 2024-09-13 09:17:28

採用實體欄位在讀取時肯定是會快一丟丟,但就如在SunM0on大大說的視運算規則及資料量而定,除此之外您還要考慮的是查詢頻率。

但若您最後決定是要採用實體欄位,您必須注意的當A、B任一欄位有異動後要重新計算再存入的問題(包含使用者透過系統資料更新或DBA直接下指令修改的情境)

0
wilson1966
iT邦研究生 2 級 ‧ 2024-09-13 10:22:58

<<計算欄位:只抓B-A(邏輯另計),應該撈取時才計算
<<這樣,兩者間效能差異會很大嗎?

計算結果的欄位通常是用計算欄位的,此時不會管效能問題,正確才是最重要。

我要發表回答

立即登入回答