我有一个java+react+mysql数据库应用程序,可以显示不同城市的对象。可以为每个城市显示对象。过滤是java方面的React侧分页我有一个小问题,它需要长达9秒的时间来显示所有的对象在前面的大城市。如何提高过滤速度?我读到的一个想法是将数据库划分为城市,在基础上创建过滤,并通过jpa创建分页。这个解决方案工作量很大,有没有其他办法提高过滤速度(改变基础不是一个选项)
voase2hg1#
你可以在缓存设计中存储数据 KEY | VALUE 一对。城市将成为关键,对象列表将成为价值,这样获取将具有o(1)复杂性。
KEY | VALUE
3hvapo4f2#
它完全取决于您的框架及其缓存机制,但一般来说,它是这样的:尽可能减少数据库级别的结果集(检查sql查询/连接/使用更好的选择性标准/查看查询解释计划/检查索引/统计信息等)使用批处理获取结果(如何从java中以相等的批处理从oracle中批量获取数据)查询结果应该基于您的框架和应用程序在java级别缓存。架构(microservice、monolith、bloody jee等)将缓存的数据返回到前端
zazmityj3#
你可以尝试矢量化,这个过程可以减少时间,java中有很多库,你可以在这里阅读更多
3条答案
按热度按时间voase2hg1#
你可以在缓存设计中存储数据
KEY | VALUE
一对。城市将成为关键,对象列表将成为价值,这样获取将具有o(1)复杂性。3hvapo4f2#
它完全取决于您的框架及其缓存机制,但一般来说,它是这样的:
尽可能减少数据库级别的结果集(检查sql查询/连接/使用更好的选择性标准/查看查询解释计划/检查索引/统计信息等)
使用批处理获取结果(如何从java中以相等的批处理从oracle中批量获取数据)
查询结果应该基于您的框架和应用程序在java级别缓存。架构(microservice、monolith、bloody jee等)
将缓存的数据返回到前端
zazmityj3#
你可以尝试矢量化,这个过程可以减少时间,java中有很多库,你可以在这里阅读更多