场景:无法使用双表联查,只能通过查询单表,将查询出来的结果作为第二个表的查询条件。
解决思路:首先要明确java多次与数据库建立查询连接,进行查询会消耗大量的时间,优化要做的就是减少该时间,让java与数据库建立连接进行查询的次数减少,就可以减少时间。
思路一(未优化):将查出的表一的数据进行遍历,遍历中获得对应表二需要的属性,在将其在表二中直接查询,获得表二结果,直至遍历结束。
思路二(优化):将表一的数据查出,然后将表二需要用到的表一的数据放到集合中,然后在表二中进行查询根据放入集合的数据,然后在将查出来的数据根据条件属性在进行筛选,得到想要的数据。
可能这样说起来有点费劲,但是优化的思路就是减少与数据库建立连接的次数,因为这个连接是比较耗时的,通过算法将之前减少连接次数得到数据范围过大问题,进行缩小,得到想要的数据。