Answers
如果自定义的字段没有排序,检索方面的需求,还是建议用大字段吧,把非标准字段的数据全部以JSON或数组序列化的格式存到一个大字段中,需要展示的时候再做格式化输出就好了。
如果有排序或检索需求,则可能需要结合一些开源的索引软件比如Apache Lucene来实现了,看具体需求吧。
还有另外一种方式,代码逻辑上可能稍微复杂一点,存储效率也会很低,其实不大建议,但是如果你不是海量数据的话,问题也不大。方法就是建立一张字段足够多的表(user_data),字段命名都采用通用命名方式比如“column1,column2“等,然后专门建立一个表做用户的数据字段对应(user_data_columns),格式如下:
| uid | name | field |
| 101 | 生日 | column1 |
| 101 | 手机号 | column5 |
需要使用的时候,先到user_data_columns表中把相应的字段名和表的字段读取出来,然后到user_data表中去取相应列的数据。
饮水机管理鱼
answered 11 years, 4 months ago