免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2726 | 回复: 5
打印 上一主题 下一主题

请教:JAVA访问ORACLE返回结果慢的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-23 10:42 |只看该作者 |倒序浏览
我用java瘦客户端程序访问ORACLE运行SQL,并将结果写入本地 MySQL 表中,但
1.从开始运行SQL到开始向本地MySQL表写数至少需要 2 个小时;
2.开始向本地MySQL表写数过,过程要持续数个小时,有时1秒能取到20条数,有时5分钟取不到一条数。

同样的SQL,同事在ORACLE 工具 PL/SQL中运行,很快就能返回结果。
我在本地的ORACLE CLIENT SQL_PLUS中运行也非常的慢。
各位DX有无遇到这种情况,有什么好办法?
先谢了!

SQL后附:

SELECT
  vend.vendor_id,
  RSH.RECEIPT_NUM,
  POHD.SEGMENT1 po_num,
  NVL(TO_CHAR(POREL.RELEASE_NUM),'') po_rel_num,
  vend.vendor_name,
  vend.segment1 vendor_num,
  site.vendor_site_code,
  decode(PORCV.ORGANIZATION_ID,123,'AAA',234,'BBB',1234,'CCC',1235,'DDD‘,456,'EEE',1800,'FFF') org_code,
  ITEM.SEGMENT1 item,
  item.description item_description,
  POLN.LINE_NUM po_line_num,
  rsl.line_num po_shipment_num,
  PORCV.UNIT_OF_MEASURE,
  PORCV.PO_UNIT_PRICE,
  PORCV.CURRENCY_CODE,
  TO_CHAR(PORCV.TRANSACTION_DATE,'YYYY-MM-DD') received_date,
  PORCV.QUANTITY rcv_quantity,
  PORCV.TRANSACTION_TYPE
FROM
  APPS.RCV_TRANSACTIONS PORCV,
  APPS.MTL_SYSTEM_ITEMS_B ITEM,
  APPS.PO_HEADERS_ALL POHD,
  APPS.PO_LINES_ALL POLN,
  APPS.PO_RELEASES_ALL  POREL,
  apps.rcv_shipment_headers RSH,
  apps.rcv_shipment_lines rsl,
  apps.po_vendors vend,
  apps.po_vendor_sites_all site
WHERE
  PORCV.PO_RELEASE_ID=POREL.PO_RELEASE_ID(+)
  AND PORCV.PO_HEADER_ID=POHD.PO_HEADER_ID
  AND PORCV.PO_LINE_ID=POLN.PO_LINE_ID
  AND POHD.PO_HEADER_ID=POLN.PO_HEADER_ID
  AND PORCV.SHIPMENT_HEADER_ID=RSH.SHIPMENT_HEADER_ID
  AND porcv.shipment_line_id=rsl.shipment_line_id
  AND rsh.shipment_header_id=rsl.shipment_header_id
  AND POLN.ITEM_ID=ITEM.INVENTORY_ITEM_ID
  AND PORCV.ORGANIZATION_ID=ITEM.ORGANIZATION_ID
  AND pohd.vendor_id=vend.vendor_id
  AND pohd.vendor_site_id=site.vendor_site_id
  AND vend.vendor_id=site.vendor_id
  AND PORCV.destination_type_code='RECEIVING'
  AND PORCV.ORGANIZATION_ID IN (123,234,1234,1235,456,1800)
  AND to_char(porcv.transaction_date,'yyyy-mm-dd')>'2006-08-17'

论坛徽章:
0
2 [报告]
发表于 2006-08-23 11:34 |只看该作者
这么多表关联?厉害
在你同事的机器上运行sqlplus, 执行上面的语句要多久返回全部结果?
如果你同事的pl/sql返回结果的速度应该和你用sqlplus繁华结果的速度相当的。
如果差异很大,建议查一下
1 登陆的用户名是否相同?
2 两台机器的网络设置是否相同?

论坛徽章:
0
3 [报告]
发表于 2006-08-23 11:57 |只看该作者
我们的环境一样。 PLSQL 很快, 我的SQLPLUS没等到结果。用户名不一样,但权限一样。网络一样。

论坛徽章:
0
4 [报告]
发表于 2006-08-23 12:19 |只看该作者
如果用他的用户名呢?

论坛徽章:
0
5 [报告]
发表于 2006-08-23 13:49 |只看该作者
以前用过他的用户名,出是很慢的

论坛徽章:
0
6 [报告]
发表于 2006-08-23 13:57 |只看该作者
这么说, 和用户名无关,和机器,网络有关?
把程序copy他机器上执行看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP