[英]MySQL - Storing multiple fields or one CSV field?
我有一个PRODUCTS表,并且需要实现一个可用性系统,以便能够在工作日内过滤产品(例如,产品仅在星期五提供)。
我不确定是否应该添加一个包含7个逗号分隔的bool值的“可用性”列,每个值代表每个工作日,还是添加7个不同的列。
我不太喜欢CSV方法,它也需要后处理来过滤数据,但是对我来说,多列似乎不是一个好习惯。 我当时在想,但在单独的表格中,例如格式为PRODUCTS_AVAILABILITY
| id | mon | tue | wed | etc...
我应该使用什么方法?
多个字段。
如果没有,您将需要在进行任何处理之前将数据提取到编程语言中。 您将无法为数据建立索引。
继续阅读数据库规范化
您应该使用多对多表PRODUCTS_AVAILABILITY:
product_id | day | availability
或一个表产品中的json字段(如果使用MySQL 5.7+) https://dev.mysql.com/doc/refman/5.7/en/json.html
...fields | availability
JSON_TYPE('{1:true, 2:false...}');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.