搜尋

首頁  >  問答  >  主體

mysql - 这个数据库合计用 视图做,和直接算好存在数据库里,到时候调用起来哪个快?

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

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

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

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

PHPzPHPz2788 天前681

全部回覆(2)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-17 14:56:56

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

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

    回覆
    0
  • 迷茫

    迷茫2017-04-17 14:56:56

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

    回覆
    0
  • 取消回覆