I'm developing a project of Q/A website, and a questions in this website can be linked with multiple tags.
For example: How can I implement quicksort in C++ ?
Tags for this question can be C, C++, Algorithm
My question is how can I store these tags in MySQL table ?
My approach:
The question above has id = 123
-------------------------
|question_id | tags |
-------------------------
| 123 | C |
-------------------------
| 123 | C++ |
-------------------------
| 123 |Algorithm |
-------------------------
| 124 | Java |
-------------------------
But if I create a table in this sense, then for lot of questions, the table will become very large.
Is there any better and efficient way to store this kind of data ?
解决方案
Have an extra table with exactly 3 columns: id of item being tagged, tag, ordering info.
When you add or delete an item, add or delete all the relevant rows from this table.
The details are here: http://mysql.rjweb.org/doc.php/lists
Efficient, fast, easy, and highly scalable.