当前位置: 代码迷 >> Oracle开发 >> oracle数据查询有关问题
  详细解决方案

oracle数据查询有关问题

热度:85   发布时间:2016-04-24 06:42:05.0
oracle数据查询问题
本人遇到一个数据查询的性能问题,请各位前辈帮忙看一下。谢谢了
问题是这样的。我现在有一个主表A 以及 主表对应的 子表(明细表) a ,b ,c ,d(各子表可能有数据,也可能没有数据,有数据的是时候 主表与子表数据的对应关系是 1:N) 现在我想根据主表的主键来取数据, 这个主键是有很多的。也就是在循环里面去检索很多次数据库。因为检索的数据库次数非常多。就出现了性能的问题了。
现在的具体操作时这样的。
for(int i=0; i<主键数组;i++){
检索 A表 (取出主表数据)
检索 a 表 (取出子表数据)
检索 b 表 (取出子表数据)
检索 c表  (取出子表数据)
检索 d 表 (取出子表数据)
}


------解决方案--------------------
引用:
本人遇到一个数据查询的性能问题,请各位前辈帮忙看一下。谢谢了
问题是这样的。我现在有一个主表A 以及 主表对应的 子表(明细表) a ,b ,c ,d(各子表可能有数据,也可能没有数据,有数据的是时候 主表与子表数据的对应关系是 1:N) 现在我想根据主表的主键来取数据, 这个主键是有很多的。也就是在循环里面去检索很多次数据库。因为检索的数据库次数非常多。就出现了性能的问题了。
现在的具体操作时这样的。
for(int i=0; i<主键数组;i++){
检索 A表 (取出主表数据)
检索 a 表 (取出子表数据)
检索 b 表 (取出子表数据)
检索 c表  (取出子表数据)
检索 d 表 (取出子表数据)
}

我觉着性能问题应该是在你的查询本身,而不是次数。。业务处理中,五次检索不算高,主要还是看你每个检索的执行效率。
------解决方案--------------------
为什么要在for循环里分组检索,把for循环去了,用5次检索分别取主表对应的5张表的数据不行么,你这样循环检索很费时间
  相关解决方案