【发布时间】:2015-01-09 04:09:20
【问题描述】:
==> 我的系统:
处理器 - Xeon 8 Cores @ 3.8GHz
内存-20 GB
存储 - 11 HDD SAN - RAID 5 configured I/O Rate – 260 MB/s
网络 - Cisco 1 Gbps Intranet
前端 - Using C#.Net desktop Application, PL/SQL Developer (write PL/SQL)
==> 数据库:
Oracle 11g (11.2.0.3) Windows Server 2008 R2 64bit 上的标准版(OLTP 使用)
有 60 多张桌子。
大多数表都有超过 800 万条记录
生成报告,其输出给出大约。 500 万条记录并发送到前端。
==> 我的问题:
在复杂查询中获取和处理的数据已经足够了。
但是当程序或查询执行时,哪个输出可能有数百万条数据
发送到前端或 pl/sql 开发人员(测试过程/查询)
我的问题从这里开始,
Oracle 数据库处理数据(服务器端没有高 cpu 或 hdd 使用率)
网络使用率显示2-3 MB per second传输率
数据在 1 秒后开始像 800 records 一样缓慢地进入客户端。
数以百万计的数据即将到来,因此需要花费太多时间来完成数据到达前端。
所以管理层对此并不满意,它的前端报告需要几分钟才能显示。
我该如何改进呢?我需要客户端更快的数据。
【问题讨论】:
-
如何访问数据库?你的 SQL 是什么?
-
任何输出数百万条记录的数据库在任何情况下都不会更快。如果您需要这么多数据,那么您所做的任何事情都没有正确设计。尝试使用 SP 在 DB 中处理它。为了更快地输出数据,请尝试“zerocopy”技术。不确定它是否会有所帮助,但可以看看。
-
@Fumu7 PL/SQL 开发者应用和一个 c#.net 内部桌面应用
标签: database performance database-connection frontend