是这样的,比如我要给某一物品加一标签属性,通过关键字能更快更精确的找到需要的物品
而每一个物品可以有多个标签,比如物品 女士上衣 标签可以是  可爱;漂亮 等等多个标签
而物品 女士运动鞋中的标签是 可爱;耐用 等等
而如果我输入关键 可爱 就可以查找到 相应的物品要怎样设计这个标签字段以及怎样查找最快我想的就是最简单的,全局模糊查找,感觉会N慢请高手指教! 先谢了

解决方案 »

  1.   

    一种方法是严格按照数据库设计的范式准则,把标签分开。 
    女士上衣 可爱
    女士上衣 漂亮
    ...
    女士运动鞋 可爱
    女士运动鞋 耐用
    ...另外一种方法是利用全文搜索,但中文似乎有些麻烦。你可以试一下。http://dev.mysql.com/doc/refman/5.1/zh/functions.html#fulltext-search
    12.7. 全文搜索功能
    12.7.1. 布尔全文搜索
    12.7.2. 全文搜索带查询扩展
    12.7.3. 全文停止字
    12.7.4. 全文限定条件
    12.7.5. 微调MySQL全文搜索
      

  2.   

    哭死,只能用MyISAM 而我们要求必须用InnoDB,因为必须支持事务的第一种也行不通啊,由于是在原来的表上作修改,这样的话数据大改会有问题
      

  3.   

    设计一个对照表如何?
    物品ID 标签
    1       可爱
    2       漂亮or将物品ID修改为物品名称
      

  4.   

    这种设计 效率不管怎样,查询总是好过 like '%xxx%'
      

  5.   

    这种设计 效率不管怎样,查询总是好过 like '%xxx%'
      

  6.   

    在连接字段上建立索引,效率应该> like