如何最好地开发sql以支持web应用程序中的搜索功能?
与许多web应用程序(业务)一样,客户需要一个可以在每个数据字段中搜索的表单。表单可以有15-20个不同的字段,用户可以在其中选择/输入/输入要在sql(存储过程)中使用的内容 这些是用户的典型请求,大多数应用程序都必须处理这些请求 目前真正的问题是如何为用户提供这种类型的界面/选项,以及如何建立快速的SQL访问。上述字段可以跨越15个不同的表,并且相应的sql语句(通常抽象为存储过程)将具有尽可能多的联接。数据必须始终返回到网格类型视图以及某种报告格式(通常为excel) 我/我们发现这些sql语句很慢,很难优化,因为用户可以输入1或15个不同的搜索条件 如何做到这一点?寻找关于现有大型应用程序如何处理这些需求的建议/想法。如何最好地开发sql以支持web应用程序中的搜索功能?,sql,Sql,与许多web应用程序(业务)一样,客户需要一个可以在每个数据字段中搜索的表单。表单可以有15-20个不同的字段,用户可以在其中选择/输入/输入要在sql(存储过程)中使用的内容 这些是用户的典型请求,大多数应用程序都必须处理这些请求 目前真正的问题是如何为用户提供这种类型的界面/选项,以及如何建立快速的SQL访问。上述字段可以跨越15个不同的表,并且相应的sql语句(通常抽象为存储过程)将具有尽可能多的联接。数据必须始终返回到网格类型视图以及某种报告格式(通常为excel) 我/我们发现这些sq
这真的归结为试图优化存储过程中的sql吗
thx不,您需要使用真正的搜索引擎技术,使全文搜索具有良好的性能。没有SQL谓词(例如,
像“%pattern%”
)是可伸缩的
您无法确定使用的是哪个品牌的RDBMS,但每个主要品牌的RDBMS都有自己的全文搜索功能:
- Microsoft SQL Server:
- 甲骨文:(原上下文)
- MySQL:索引(仅限MyISAM)
- PostgreSQL:数据类型和索引类型
- SQLite:(FTS)
- IBM DB2:
- 阿帕奇/