如何最好地开发sql以支持Web应用程序中的搜索功能?

时间:2009-11-05 23:19:57

标签: sql

与许多Web应用程序(业务)一样,客户需要一个可以搜索每个数据字段的表单。表单可以有15-20个不同的字段,用户可以选择/输入/输入在sql(存储过程)中使用。

这些是用户非常典型的请求,大多数应用程序都必须处理这些请求。

问题真正掌握的是如何为用户提供此类接口/选项 AND 建立快速SQL访问权限。上面的字段可以跨越15个不同的表,并且相应的sql语句(通常抽象为存储过程)将具有尽可能多的连接。数据总是必须返回到网格类型视图以及一些报告格式(通常是excel)。

我/我们发现这些sql语句很慢且难以优化,因为用户可以输入1或15个不同的搜索条件。

应该怎么做?寻找关于现有大型应用程序如何处理这些要求的建议/想法 是否真的归结为尝试在存储过程中优化sql?

thx

1 个答案:

答案 0 :(得分:4)

不,您需要采用真正的搜索引擎技术才能使全文搜索具有良好的性能。没有SQL谓词(例如LIKE '%pattern%')将是可扩展的。

您没有确定您使用的是哪个品牌的RDBMS,但RDBMS的每个主要品牌都有自己的全文搜索功能:

还有用于索引文本的第三方解决方案,例如: