在Delphi中处理来自TAdoQuery的大量数据

weixin_38071069 2019-09-12 03:21:32

编程语言:Delphi 6 SQL Server在后端。 问题: 使用的每个我们需要的东西,已结束了它击中了2000次以上为获得某些事情时打数据库应用,使问题的应用程序正在缓慢。这个命中数据库发生了很多表,每个表具有不同的结构和不同的列数。所以我试图减少电话的数量。 从每张表中我们一次可以获得大约4000条记录。 建议的解决方案: 让我们从数据库中的所有数据在一次使用它的时候,我们需要它,这样我们就不必不停的按DB。 如何解决是迄今为止转向了: 有此德尔斐的版本没有一本字典。所以我们已经有了一个来自String List的字典实现(让我们假设实现是好的)。 解决方案1: 商店这是我们与创造的字典: 一个独特的领域作为重点。 并添加数据的其余部分作为字符串列表字符串分隔这样的: FiledName1:FileValue,FieldName2:FieldValue2,... .. 可能要创建约2000字符串列表将数据映射到按键。 我看了看下面的链接: How Should I Implement a Huge but Simple Indexed StringList in Delphi? 看起来他们可以移动到不同的数据库不可能和我在一起。 这是一个理智的解决方案吗? 解决方案2: 将此存储在带List的字典中。 该列表将包含Delphi记录。 Delphi TList of records 解决方案3: 或给予我使用TAdoQuery我应该用寻求或定位找我的记录 记录可以到让我看了看这个链接不是直接加入。 请教最好的方法来做到这一点? 要求: 需要随机存取此数据。 当我们根据需要获取所有数据时,插入数据只会发生一次。 只需要读取数据,不必修改。 需要不断在主键的字词进行搜索。 除了改变我们已经做了很好的索引上DB照顾的东西从DB侧的应用程序。这更多的是让应用程序顺利运行。








...全文
189 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38095552 2019-09-12
  • 打赏
  • 举报
回复

这听起来像一个完美的使用情况TClientDataSet。这是一个内存数据集,可以轻松进行索引,过滤和搜索,保存可以使用SQL语句从数据库中检索的任何信息,并且在数千行合理大小的数据行上具有相当不错的性能。 (上面的链接是针对当前的文档,因为我没有一个可用于Delphi 6文档的链接,它们应该非常相似,但我不记得哪个特定版本能够将MidasLib直接包含在您的使用条款中以消除与您的应用程序分发Midas.dll)。 凯里詹森几年前写了一系列有关它的文章,你可能会发现有用的。第一个可以在A ClientDataset in Every Database Application中找到 - 系列中的其他人是从它链接的。

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧