存储多个字段还是一个csv字段?

koaltpgm  于 2021-06-19  发布在  Mysql
关注(0)|答案(2)|浏览(392)

我有一个产品表,并需要实施一个可用性系统,以便能够过滤产品的工作日(例如,产品只有在星期五)。
我不确定是否应该添加一个“availability”列,其中包含7个逗号分隔的bool值,每个值代表每个工作日,或者添加7个不同的列。
我不太喜欢csv方法,它也需要后期处理来过滤数据,但是多列方法在我看来是一种不好的做法。我在想,但在一个单独的表格,如产品的形式

| id | mon | tue | wed | etc...

我应该用什么方法?

vlju58qv

vlju58qv1#

多个字段。
如果没有,在进行任何处理之前,您需要将数据提取到编程语言中。你将无法索引数据。
阅读数据库规范化

qrjkbowd

qrjkbowd2#

您应该使用多对多表产品:

product_id | day | availability

或一个表产品中的json字段(如果使用MySQL5.7+)https://dev.mysql.com/doc/refman/5.7/en/json.html

...fields | availability 
            JSON_TYPE('{1:true, 2:false...}');

相关问题