数据库表设计中,多条记录和一条记录中包含数组字段间怎么选择?

场景:类似于系统配置,比如某个页面包含哪些功能,功能又包含子功能。原本是写在xml中,现在想移植到数据库中可以动态修改,这个表设计成多条记录,每条记录对应一个子功能,还是设计成一条记录,其中功能字段为数组,里面包含子功能。

这两种设计从数据库的执行效率上,哪个更好一些呢?

  1. 在数量级较低的情况下,基本上可以忽略效率的问题。但是若频繁使用的话,最好存在缓存中。
  2. 数据库当然是建议多条记录,方便维护管理以及后期的字段扩展。当然如果功能仅仅是个键值对的话(或字段少于3个)存在一个字段中,也是没问题的。
  3. 不用过于纠结此问题。因为无论是哪种,后期如有需要改动都是可以随时调整的。