database - 寻找D2009+的本地数据库

标签 database delphi delphi-2009 delphi-2010 local-database

<分区>

我正在尝试更新一个遗留应用程序,该应用程序将所有数据存储在 BDE Paradox 文件的黑客攻击系统中。该程序在某些狭窄条件下运行良好,但存在严重的性能问题。

我想通过更新到更好的数据库系统来尝试改进。我需要的是一个本地数据库,最好是一个我可以将所有内容存储在一个文件中的数据库,而不是当前的“每个表一个或多个文件”系统。它必须支持外键关系和表索引,并且必须能够从具有数十万个元素的表的查询中快速返回结果。

最后一个很重要。当前系统已编入索引,但这似乎无关紧要。所有查询似乎都在 O(N) 时间内运行,其中 N 是表的总大小,当表开始变大时,它会变得非常慢。我不太确定为什么,但这必须消失。

而且它必须在D2009及更高版本下工作。谁能提供一些建议?

最佳答案

这里再次为嵌入式 Firebird(以及一般的 Firebird)投票!

我刚刚获得了将 Interbase 6.0 应用程序移植到嵌入式 Firebird 1.5 的很棒体验;阅读文档片刻后,实际转换只用了 20 分钟,现在我的应用程序可以在 Vista 和 Windows 7 中正常运行。如果您不需要多用户支持,那么我会认真考虑嵌入式 Firebird(如果您确实需要多用户支持,那么为什么不看看普通的 Firebird 呢)。

它是数据库的单个文件和引擎的几个小 DLL,并且易于部署、维护和备份。在开发过程中有许多工具可以提供帮助,Delphi 社区对 IB 和 Firebird 的技术支持是首屈一指的。

SQL 对约束、触发器和存储过程的支持非常好(我们也有 UDF 来帮助扩充语言 - DLL 可以用 Delphi 编写并用作数据库中的内联函数等。非常快速,非常灵活).

关于性能的最后一点 - 无论如何,Interbase 总是非常活泼,到目前为止,我对嵌入式 Firebird 的体验是它“尖叫” - 真的非常印象深刻。

关于database - 寻找D2009+的本地数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1835161/

相关文章:

Delphi 2009 - 检测组件是否安装

delphi - Delphi 2009 项目配置选项集的层次结构如何?

delphi - 为什么编译器对我的泛型函数参数提示 "incompatible types"?

python - MySQLdb 和使用 CursorUseResultMixIn 的大查询

mysql - 连接必须有效并使用 vb.net 打开 VB.net 错误

database - 如何在 Appcelerator 中输出 SUM SQL 查询的结果?

delphi - 如何判断CoInitialize被调用了多少层?

database - 将两个 postgres 数据库合并为一个的最简单方法?

delphi - 是否可以获取Delphi 7中指针指向的类型的大小?

delphi - 视觉形式继承问题。 "cannot inherit from (parent form). Contains a component that does not support inheritance"