Java 针对30-50K对象的架构师预测搜索?

Java 针对30-50K对象的架构师预测搜索?,java,angular,caching,search,microservices,Java,Angular,Caching,Search,Microservices,我必须构建一个搜索功能,GUI将提供一个搜索字段来搜索Oracle数据库中的对象。目前我需要搜索3万个对象,但它们的数量会随着时间的推移而增加。大约每月300-400 作为需求的一部分,当用户在搜索中键入任何文本(例如ABC)时,数据库中包含ABC的所有对象都应出现在数据表中,更像是系统根据用户在搜索字段中的类型预测结果 问题是如何构建这样的特性 简单的方法是加载GUI Javascript对象中的所有内容并在其上运行搜索。因为JS速度快得离谱,所以性能不会成为问题 另一种方法是每次用户在搜索字

我必须构建一个搜索功能,GUI将提供一个搜索字段来搜索Oracle数据库中的对象。目前我需要搜索3万个对象,但它们的数量会随着时间的推移而增加。大约每月300-400

作为需求的一部分,当用户在搜索中键入任何文本(例如ABC)时,数据库中包含ABC的所有对象都应出现在数据表中,更像是系统根据用户在搜索字段中的类型预测结果

问题是如何构建这样的特性

简单的方法是加载GUI Javascript对象中的所有内容并在其上运行搜索。因为JS速度快得离谱,所以性能不会成为问题

另一种方法是每次用户在搜索字段中键入文本时在数据库中运行查询。这似乎不方便,因为它会给数据库带来不必要的负载


是否有更好的方法来构建此功能?请分享你的想法

过早优化很少有用

对于任何数据库来说,使用30k基本对象每月增加300-400个对象根本不需要处理

在浏览器上一次加载所有30k对象非常糟糕,可能会影响性能,而在数据库中查询结果将不会有此问题,除非有越来越多的用户访问数据库


您应该使用数据库来构建服务,如果遇到瓶颈,您可以考虑优化技巧,例如缓存数据库上的频繁查询。

谢谢。如果我理解正确,您建议在键入搜索文本并相应显示结果时自动拨打服务电话;例如,当你已经有了数据时,这就是自动完成。从谷歌搜索工作原理的角度考虑。我以前提出过这个想法。建筑师不听D谢谢你。