mysql - 这个数据库合计用 视图做,和直接算好存在数据库里,到时候调用起来哪个快?
PHPz
PHPz 2017-04-17 14:54:56
0
2
690

大家看这个表,其实主科总分,副科总分,总分 都能通过 前面的的数据算出来,

我想问问,要是 不考虑存储空间的情况下,

是把 主科总分,副科总分,总分 在插入数据的时候,就算出来好,
还是 用 VIEW 算好?

这个好的意思,是减少服务器负担,还是搜索速度快.

PHPz
PHPz

学习是最好的投资!

全部回覆(2)
伊谢尔伦

從第三範式的角度來看,主科總分、副科總分、總分這三列屬於依賴於其他列的數據,不應該作為單獨的列放到資料庫表中。

如果考慮資料讀取的壓力很大,不想在應用程式伺服器或資料庫端再做計算,那麼可以按照冗餘列的方式儲存在表中。在上面所說的場景中,學生的成績輸入後修改的次數應該很少,因此冗餘列的更新成本較低,屬於典型的讀多寫少的情況,因此有冗餘列總體上服務器的壓力會比較低。

迷茫

看你是插入資料多,還是讀取結果多;
插入資料時多時就把計算放在視圖內,讀取資料多時就把sql計算結果放在表裡,但讀取的壓力遠低於插入吧,這個比例還是要權衡下,建議選擇放在視圖內。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板