查询配置数据库 视图 响应时长优化问题

问题 :  主数据库 为oracle , 配置数据库 SqlServer , 有个子页面查询SqlServer数据库视图 , 需要二十多秒才给响应

处理方案 : 把查询分页数据的SQL  和 查询分页计数的SQL 异步处理

原代码:

page=iMpckService.getsympzkcSqlserver(params);//查询SQLserver 数据库
total=iMpckService.getsympzkcSqlserverCount(params);

优化后代码:

	CompletableFuture<Void> firstTask = CompletableFuture.runAsync(() -> {
				// Some code to load previous view data
				page[0] =iMpckService.getsympzkcSqlserver(params);//查询SQLserver 数据库
			});

			CompletableFuture<Void> secondTask = CompletableFuture.runAsync(() -> {
				// Some code to switch database
				total[0] =iMpckService.getsympzkcSqlserverCount(params);
			});

			CompletableFuture<Void> combinedTask = firstTask.thenComposeAsync(result -> secondTask);

			combinedTask.join();

  效率提升一倍

posted @ 2023-06-14 09:27  Li_ll  Views(24)  Comments(0Edit  收藏  举报