2张表(单表数据量30w)的查询结果集合并之后,然后根据create_time 进行排序,select * from(select id,val1,val2,create_time from t1 union all select id,val1,val2,create_time from t2) t order by create_time desc; 耗时2.5秒,考虑排序比较耗时,然后不进行排序,耗时1.8秒,但是在不进行union all 查询,只进行单表查询时速度很快(工具显示为0.000秒),然后就很不理解,希望有高人指点,能把我的查询速度提升到毫秒级。(测试电脑 小新air14 i5 16G 500G SSD)
建议对排序的字段创建索引,可以提高效率。
不然两个单表查询的结果在代码里利用stream流进行汇总排序
数据库版本为mysql5.7