cari

Rumah  >  Soal Jawab  >  teks badan

redis - 数据库表设计的一些疑问,比如一篇文章(点赞数,浏览数,评论数要不要存在文章的表里)

一直以来都有这个疑问
一张文章表,文章有点赞、浏览记录,评论,都是三个独立的表,查询文章列表数据时需要展示这三个数量。


两种方案:

  1. 在文章表里增加三个数量字段,每次被点赞(取消点赞)/评论(删除评论)/浏览,都去更新这个字段,这样未免效率过低了,尤其是浏览量每次都要更新,而且冗余了字段

  2. 每次去关联查询总数,这样速度太慢。
    如果放到缓存/搜索引擎里,那还需要每次都去更新吗,这样也太浪费了

phpcn_u1582phpcn_u15822794 hari yang lalu1445

membalas semua(2)saya akan balas

  • 高洛峰

    高洛峰2017-04-28 09:05:59

    Apabila bilangan jadual ulasan meningkat pada tahap tertentu, adalah perlu untuk menambah medan berlebihan. Walaupun terdapat beberapa lagi medan yang berlebihan untuk dikekalkan, peningkatan prestasi adalah jelas. Lagipun, tiada siapa yang mahu pangkalan data menjadi terharu, bukan?

    Selain itu, bilangan suka, ulasan dan bacaan bukanlah data yang memerlukan prestasi masa nyata yang tinggi, jadi tidak perlu mengemas kini medan ini setiap kali anda suka (batalkan suka)/ulasan (padamkan ulasan )/semak imbas Anda boleh menulis skrip berjadual untuk mengemas kini medan berlebihan tersebut setiap setengah jam atau jam

    balas
    0
  • 黄舟

    黄舟2017-04-28 09:05:59

    Reka bentuk sub-jadual adalah betul Apabila anda mempertimbangkan peningkatan dalam volum data, jadual yang berat tidak mudah digunakan. Ini lebih perlu jika anda menganggap bahawa akan ada maklumat tambahan kemudian seperti suka.

    Adalah disyorkan untuk cache dan hanya mengemas kini cache dalam masa nyata Kegigihan khusus boleh dijalankan dengan kerap.

    balas
    0
  • Batalbalas