Best way to store tags in a sql server table?

前端 未结 3 554
一向
一向 2021-02-07 07:06

What\'s the best way to store tags for a record? Just use a varchar field? What about when selecting rows that contains tag x? Use the like operator?

thanks!

3条回答
  •  离开以前
    2021-02-07 07:51

    Depends on two things:
    1) The amount of tags/tagged records
    2) Whether or not you have a religious opinion on normalization :-)

    Unless dealing with very large volumes of data, I'd suggest having a 'Tags' table mapping varchar values to integer identifiers then second table mapping tagged records to their tag ids. I'd suggest implementing this first, then check if it doesn't meet your performance needs. In that case, keep a single table with a id for the tagged row and the actual text of the tag, but in this I'd suggest you use a char column as it will kill your query if the optimizer does a full table scan against a large table with a varchar column.

提交回复
热议问题