作者:勇敢的思竹 | 来源:互联网 | 2023-09-07 12:23
刚学习mysql对mysql不熟悉,现在我有这样子的三个表格
文章表
id |
title |
content |
---|
0 |
hello |
world |
1 |
hey |
.... |
问题表
id |
title |
content |
---|
0 |
hello |
world |
1 |
hey |
.... |
标签表
id |
name |
avatar |
---|
1 |
java |
.... |
2 |
js |
.... |
两个表都共用一个标签表,标签表的avatar是标签的头像,每个标签都有属于自己的头像或者默认的头像。
我现在的问题是怎么把标签表和其他两个表关联起来? 要保证能根据标签id快速的查出文章或者话题。
我想的第一个解决方案是在文章表和问题表的下面加一个tags的字段。用逗号分开(不知道好不好...),然后我发现我特喵的不会查 ... 这样要怎么查询呢... 使用like吗...
文章表
id |
title |
content |
tags |
---|
0 |
hello |
world |
0,1 |
1 |
hey |
.... |
2,3,4 |
问题表
id |
title |
content |
tags |
---|
0 |
hello |
world |
1,4 |
1 |
hey |
.... |
6,3 |
然后我又想了第二个方案,因为文章表和问题表的结构基本上完全一致,我是不是可以把它们合并起来呢?
问题和文章标的结合体....
id |
title |
content |
tags |
type |
---|
0 |
hello |
world |
1,4 |
article |
1 |
hey |
.... |
6,3 |
question |
然后我又觉得不应该合并吧?因为分开的话数据库没那么大,如果我只是想找全部标签为1的问题,单表查询的话会快一些吧?
之后又想了第三个方案,弄一个关联表怎么样呢,话说这个关联表需要id的吗 ... 不是很懂.. 如果有了关联表,那么文章和问题的表是不是就不需要tags字段了呢。
关联表
这样子查询好像比较简单? 直接一条select语句就搞定了,并且查询速度也还好 ... 但是随着时间的增长,这个关联表肯定会有超多的数据,这时候这个查询应该会很慢吧?
希望有人解答一下... 提前谢谢各位