一般企业级管理系统,都会存在某些功能模块数据信息,可以让用户在原有字段上添加N个自定义字段信息(字段名、数据类型、是否必选、排序等)。这些自定义字段信息,可以用于编辑、查询、统计等。
请问这种自定义字段,数据库应该怎么样去设计。可以相对保证查询效率?
暂时有两种方案:
1. 直接与物理表结构映射, 字段的调整反应在物理表上, 这种数据处理的效率会比较高, 但控制起来比较复杂, 当表中已经有大量数据量, 调整结构的开销会很大
2. 使用 xml 字段, 表中使用 xml 存储数据, xml 的结构与用户需求的字段做映射, 这种方式数据处理效率会比较低, 相关的数据操作都涉及 xml 的操作, 不过结构调整起来会比较方便