我需要从多个表中获取数据,因此我使用了一个带有N个左外联接的查询。我认为这可能会浪费性能,因为我获取了大量数据的笛卡尔积。为了获得更好的性能,应该采用哪种方式?我考虑进行N+1个小查询。我在正确的轨道上吗?
我知道,这与JDBC的具体细节关系不大。我想从单个表中检索数据,并向其他N个表进行左外连接。结果集变得非常庞大,因为我获得了笛卡尔积。例如:
table1data1,table2data1,table3data1
table1data1,table2data2,table3data1
table1data1,table2data1,table3data2
table1data1,table2data2,table3data2
我知道,如果对数据库进行多次查询(例如,在我的示例中,我为table1获取1条记录,为table2获取2条记录,为table2获取2条记录),我将使很多次往返到数据库。但我已经测试过这种方法,它看起来快得多。
我知道,这与JDBC的具体细节关系不大。我想从单个表中检索数据,并向其他N个表进行左外连接。结果集变得非常庞大,因为我获得了笛卡尔积。例如:
table1data1,table2data1,table3data1
table1data1,table2data2,table3data1
table1data1,table2data1,table3data2
table1data1,table2data2,table3data2
我知道,如果对数据库进行多次查询(例如,在我的示例中,我为table1获取1条记录,为table2获取2条记录,为table2获取2条记录),我将使很多次往返到数据库。但我已经测试过这种方法,它看起来快得多。