【发布时间】:2009-12-07 09:27:10
【问题描述】:
我们有一个完全用 C 语言编写的应用程序。对于代码中的表访问,例如从表中获取一些值,我们使用 Pro*C。为了提高应用程序的性能,我们还预加载了一些用于获取数据的表。我们通常会获取一些输入字段并从表中获取输出字段。
我们通常在表中有大约 30000 个条目,有时最多达到 10 万个。
但是如果表条目增加到大约 1000 万个条目,我认为它会危险地影响应用程序的性能。
我是不是哪里错了?如果真的影响性能,有什么办法可以让应用的性能保持稳定?
考虑到应用程序处理表的方式,如果表中的行数增加到 1000 万,可能的解决方法是什么?
【问题讨论】:
-
真正的问题是什么?你的问题真的很难理解。否则,您的问题的答案是“除非您使用分析器,否则无法判断”。
-
“10万”在印度英语中是 100.000
-
您正在将 1000 万行从数据库复制到应用程序内存中?假设您需要数据进行单行查找,您确定您的代码比 Oracle 的代码快吗?始终使用 SQL 语句。哦……性能很关键???如果您的程序使用您的代码需要 0.03 毫秒,而使用 Oracle 代码需要 3 毫秒(100 倍以上),谁会注意到?
-
接下来的问题是“如何在包含 30000 到 1000 万个元素的表格上提高搜索时间?”
-
为什么要在应用中缓存 Oracle 表数据? Oracle 可以做得很好,而且在许多情况下比您的应用程序更好。当然,如果合适的话,您可以配置 Oracle 以将整个表加载到内存中。让数据库引擎处理数据。
标签: c++ c performance oracle-pro-c