|  |      1jamiesun      2013-08-15 16:00:09 +08:00 那你试试用set字段呗 | 
|  |      2barbery      2013-08-15 16:02:48 +08:00 楼主想表达什么? 用tag id查文章? 是的话用IN就好, tag_id IN(1,2,3) | 
|  |      3kenneth OP | 
|      4MarsWang      2013-08-15 16:07:25 +08:00 explain 下看看有没用到索引 | 
|      5noahzh      2013-08-15 16:14:48 +08:00 你这样是sql 中的反模式,叫乱穿马路.这样根本没有意义,使用一对多的关系..就可以解决.用关系表来连接 | 
|  |      7ipconfiger      2013-08-15 16:19:07 +08:00 IN 查询 不走索引的,绕道吧。 @kenneth | 
|  |      8revlis7      2013-08-15 16:22:54 +08:00 我们用奇葩的二进制来做这种分类(好像set的内部实现就是这样的) 比如: "科技":0001(十进制1) "生活":0010(十进制2) "网络":0100(十进制4) 比如用户偏好是0011(十进制3),那么就代表只查看科技与生活类的信息,查询时用按位与操作进行过滤。 效率高不高不知道,这么做的好处是可以预留几位为今后扩展作考虑,否则用set做字段类型的话,扩展set字段时,需要更新表结构重建整张表。 | 
|  |      9ayang23      2013-08-15 17:27:16 +08:00 这个字段只有3个取值,索引唯一性不高,mysql不会使用索引的,除非你强制索引。 | 
|  |      10msg7086      2013-08-15 18:13:23 +08:00 反设计模式。 一般推荐用一个关系表来表达。people_tag_relationship表。 |