【问题标题】:How best to develop the sql to support Search functionality in a web application?如何最好地开发 sql 以支持 Web 应用程序中的搜索功能?
【发布时间】:2010-12-13 15:37:03
【问题描述】:

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

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

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

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

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

谢谢

【问题讨论】:

  • 此外,应用程序需要包含分页和按任何字段排序。
  • 听起来您需要检查特定数据库系统上的全文搜索

标签: sql


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2011-01-29
    • 2021-01-20
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 2017-09-02
    • 1970-01-01
    相关资源
    最近更新 更多