关于存储文章的表的 scheme 和列表显示的问题探讨

需求说明

一个文章列表页,要求显示标题和文章开头部分大约200字左右

问题探讨

如果列表页显示的时候把所有文章内容都读出来是不是太浪费了资源了,如果不这么做怎么取得文章开头的部分内容?

方案

  • 方案1,设计表结构时候单独加一个字段比如overview,入库的时候从正文截取开头200字存入这个字段?
    这样的好处就是取文章列表不需要把整个正文全部取出,坏处就是冗余了部分内容。

  • 方案2,直接取出整个正文

  • 方案3,在sql语句上做手脚,比如用mysql 的left(str,num) 函数截取。

总结:

个人比较倾向方案3,不知道有没有什么坏处?

大家怎么看,有更好的方式吗? 强大的社区给我力量吧!

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2
Summer

不提倡第三种做法, 数据库就是拿来做存储的, 尽量少用数据库专属的函数.

建议参照 Phphub 的实现方案, 在数据库里面放多 excerpt 字段, 在创建和修改的时候调用 截取 , 显示的时候, 如在 description tag 直接显示.

类似于第一种方案, 文章修改的几率 5% 都不到, 很多文章, 生成一次就算完了, 而读取确实经常发生的, 每一次都得重新计算, 虽然不是什么耗 CPU 的工作, 但是还是觉得没必要.

8年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!