recherche

Maison  >  Questions et réponses  >  le corps du texte

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

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

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

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

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

PHPzPHPz2788 Il y a quelques jours685

répondre à tous(2)je répondrai

  • 伊谢尔伦

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

    从第三范式的角度看,主科总分、副科总分、总分这三列属于依赖于其他列的数据,不应该作为单独的列放到数据库表中。

    如果考虑数据读取的压力很大,不想在应用服务器或数据库端再做计算,那么可以按照冗余列的方式存储在表中。在上面所说的场景中,学生的成绩录入后修改的次数应该很少,因此冗余列的更新成本较低,属于典型的读多写少的情况,因此有冗余列总体上服务器的压力会比较低。

    répondre
    0
  • 迷茫

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

    看你是插入数据多,还是读取结果多;
    插入数据时多时就把计算放在视图内,读取数据多时就把sql计算结果放在表里,但读取的压力远远低于插入吧,这个比例还是要权衡下,建议选择放在视图内。

    répondre
    0
  • Annulerrépondre