此题难住了不少高手.

行业类型表:

编号 分类 名称
1 0 饮食
2 0 娱乐
3 1 特色火锅
4 2 KTV歌城
5 1 特色菜
6 2 洗脚城
7 1 极品火锅
============================================================
主表:

编号 名称 类型 服务范围
1 南方鸭肠王 7 火锅,汤锅,凉菜
2 东京富豪会 4 娱乐场所,提供KTV包房,酒吧。
3 南天门呱呱鱼 5 地方特色菜,青蛙,鱼,虾。
4 一号桥靓点 6 按摩,洗脚。
============================================================
主表数据上百万条记录,行业分类有上千条记录。

具体实现需求:

输入关键词“火锅 青蛙”如何快速在主表[服务范围]中比较准确的找到和“火锅 青蛙”相关的信息。在表[名称]中查询方法和查询[服务范围]一样,只是换了字段。速度在2秒内。

编号 名称 类型 服务范围
1 南方鸭肠王 7 火锅,汤锅,凉菜
3 南天门呱呱鱼 5 地方特色菜,青蛙,鱼,虾。

我试过聚集索引, 但是多条件查询时用like不能实现,而且查询结果不准确。

还试过全文索引,速度还没用like快,多条件下比like快。

请按具体实现需求,设计该表结构,和查询语句。

第一次在Codefund发贴送上100分,这个设计难住了不少高手。
[808 byte] By [fl1981-痴心绝对] at [2008-5-20]
# 1
do you have any idea about full text search?
# 2
看来的确有点难!
fl1981-痴心绝对 at 2007-10-19 > top of Msdn China Tech,专题开发,技术,项目,数据库应用,设计...
# 3
http://www.google.com/search?hl=en&q=%E5%88%86%E8%AF%8D+%E5%85%A8%E6%96%87%E6%90%9C%E7%B4%A2
# 4
如果是mysql,可以考虑locate函数,如:
locate('火锅',field) > 0
mathematician-数学家 at 2007-10-19 > top of Msdn China Tech,专题开发,技术,项目,数据库应用,设计...
# 5
此题我知道。主要是海量数据下的效率问题,在遗漏率极少的情况下在瞬间返回结果。但三言两语说不清。此实现技术保密呢。
friendzlr at 2007-10-19 > top of Msdn China Tech,专题开发,技术,项目,数据库应用,设计...
# 6
你的类型和行业类型表中的分类有关吗?怎么看不出来?
我看主要是你字段定义不清楚,或者说你的问题描述不清楚啊。
xdspower-杂食菜熊 at 2007-10-19 > top of Msdn China Tech,专题开发,技术,项目,数据库应用,设计...
# 7
用全文检索库。
wanmoxiaosheng at 2007-10-19 > top of Msdn China Tech,专题开发,技术,项目,数据库应用,设计...
# 8
你这个主表不太符合数据库设计规范,在设计数据库字段时,最好不要用复合属性,这个主表中的“服务范围”属性就是复合属性,应该把它单独设计成一个表,这样,查询起来就不会有问题了吧。
web_wolf-白鸟 at 2007-10-19 > top of Msdn China Tech,专题开发,技术,项目,数据库应用,设计...
# 9
用全文索引
CathySun118-斯年 at 2007-10-19 > top of Msdn China Tech,专题开发,技术,项目,数据库应用,设计...