前端页面类似调查问卷或配置页中可能涉及到某个配置字段为多选,如调查问卷中爱好、选课系统的课程等。后端建表的时候就有点纠结了,就几个值单独建表貌似有点浪费了,将多个选项以逗号等间隔符号连接作为一个字段值貌似是个不错的选择。但这种方式的扩展性比较差,读的时候要拆,改的时候就更麻烦了。为此,特意查了下“专业”的做法:
database design - Storing multi-select data with single-select data - Database Administrators Stack Exchangehttps://dba.stackexchange.com/questions/103909/storing-multi-select-data-with-single-select-data不出意料,单独建立人与爱好之间的关系表。对于其中的利弊,该解答中也做了详细的对比。其中比较有意思的是用了个聚焦索引,一定程度上优化后续的数据检索。聚焦索引可以保证记录在物理内村上的连续性,较少数据读取的IO,上个相关文章链接: