素材牛VIP会员
mysql是否有多行索引(多维索引)功能?
 诸***1  分类:SQL代码  人气:853  回帖:2  发布于6年前 收藏

目前mysql一行数据只能建立一行索引(即便是多列联合索引)。

请问是否有一行建立多个索引的功能?如果有的话该如何实现?

例如数据:
name / value
aaa / 1
bbb / 2
ccc / 3,4,5

能否对value建立一个索引类似于:
1 -> aaa
2 -> bbb
3 -> ccc
4 -> ccc
5 -> ccc

而不是:
1 -> aaa
2 -> bbb
3,4,5 -> ccc

类似于数组数据列这个样子,切分符可以是逗号、换行或者类似的?
非常感谢!

 标签:索引mysql

讨论这个帖子(2)垃圾回帖将一律封号处理……

Lv1 新人
he***21 UI设计师 6年前#1

value(3,4,5) breaks the normalization

Lv6 码匠
wu***he CEO 6年前#2

不好意思,暂时没发现有这样的,
但是如果你仅仅是想查询3或4或5的时候都能查到c对应项的话,有以下方法:
使用MySQL的函数FIND_IN_SET(),在逗号分隔的字符串中查找对应项,返回值为在字符串中的顺序,如果没找到对应项返回0。

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取