84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
大家看这个表,其实主科总分,副科总分,总分 都能通过 前面的的数据算出来,
我想问问,要是 不考虑存储空间的情况下,
是把 主科总分,副科总分,总分 在插入数据的时候,就算出来好,还是 用 VIEW 算好?
这个好的意思,是减少服务器负担,还是搜索速度快.
学习是最好的投资!
從第三範式的角度來看,主科總分、副科總分、總分這三列屬於依賴於其他列的數據,不應該作為單獨的列放到資料庫表中。
如果考慮資料讀取的壓力很大,不想在應用程式伺服器或資料庫端再做計算,那麼可以按照冗餘列的方式儲存在表中。在上面所說的場景中,學生的成績輸入後修改的次數應該很少,因此冗餘列的更新成本較低,屬於典型的讀多寫少的情況,因此有冗餘列總體上服務器的壓力會比較低。
看你是插入資料多,還是讀取結果多;插入資料時多時就把計算放在視圖內,讀取資料多時就把sql計算結果放在表裡,但讀取的壓力遠低於插入吧,這個比例還是要權衡下,建議選擇放在視圖內。
從第三範式的角度來看,主科總分、副科總分、總分這三列屬於依賴於其他列的數據,不應該作為單獨的列放到資料庫表中。
如果考慮資料讀取的壓力很大,不想在應用程式伺服器或資料庫端再做計算,那麼可以按照冗餘列的方式儲存在表中。在上面所說的場景中,學生的成績輸入後修改的次數應該很少,因此冗餘列的更新成本較低,屬於典型的讀多寫少的情況,因此有冗餘列總體上服務器的壓力會比較低。
看你是插入資料多,還是讀取結果多;
插入資料時多時就把計算放在視圖內,讀取資料多時就把sql計算結果放在表裡,但讀取的壓力遠低於插入吧,這個比例還是要權衡下,建議選擇放在視圖內。