mysql-在一个列中多次存储多个值?
行使MySQL是否有一种要领可觉得单列存储键/值的数组?譬喻,我想为一天中的某些时刻存储一些(3-6)个差异的值,譬喻:
我已经看到做一个副黄?也许是正确的要领,可是我无法节制列的时刻范畴或值,它们将是用户输入的数据.此处的数据还将链接到单个用户. 我可以通过UID链接一个单独的表,该表将包括多个具有键/值的行,可是从久远来看,假若有1000万行以上的数据行,这不会慢吗? 最佳谜底 MySQL不支持数组数据范例,尽量它在MySQL 5.7和更高版本中支持JSON data type.严酷来说,您可以在TEXT列中存储所需的任何范例的半布局化数据.可是随后您会发明搜刮它并不轻易或服从很高. 您也许会发明本身但愿在“数组”中搜刮特定值.在这种环境下,您会倾向于行使LIKE’%pattern%’或regular expression matching之类的对象来查找一天中的特按时刻.这些表达式很难用索引优化,因此搜刮凡是成为表扫描. 更换要领是行使子表,每行一个日期时刻引用您的UID.是的,它可以生长为具稀有百万行的长表,可是行使索引优化搜刮要轻易得多.在具稀有百万行的表长举办索引搜刮将击败在较小表长举办的非索引表扫描搜刮. 假如您遵守每列都应该是一个标量值的法则(而不是JSON或XML的“数组”或comma-separated list或“文档”),那么您会碰着较少的鹤发,而且对SQL的行使会越发舒畅.或相同的任何其他半布局化数据. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |