sql:搜索col中与类似列表的数据匹配的元素的有效方法

sqxo8psd  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(268)

这个问题在这里已经有答案了

一列中有多个值的查询(4个答案)
两年前关门了。
我正在尝试创建一个数据库结构(在sqlite或mysql中),允许我在col1中返回col2包含“tom”的值。col2的类型最好是某种列表数据结构,但不要认为这在sql中存在。总体数据非常大(10-50gb),因此实现可接受的速度是一个问题。我试过制作col2数据文本并使用contains之类的,但是这太慢了。

col1          col2
object1       tom, fred, mary, joe
object2       bob, tom, jerry
object3       sam, violet
cxfofazt

cxfofazt1#

一个更好的设计是规范化 col2 在插入值时,将其设置为单个值,然后对组合进行索引。e、 例如 object1 ,数据为:

col1          col2
object1       tom
object1       fred
object1       mary
object1       joe

然后,表格变为(大小只是一个任意的示例,根据需要变长):

CREATE TABLE mytable (
    col1 VARCHAR(10) NOT NULL,
    col2 VARCHAR(10) NOT NULL,
    PRIMARY KEY (col2, col1)
);

相关问题