首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Delphi 7数据库使用RAM

Delphi 7数据库使用RAM
EN

Software Engineering用户
提问于 2014-04-21 10:32:12
回答 2查看 1.1K关注 0票数 0

我有一个用阿波罗数据库用D7编写的现有数据库应用程序。

客户端给了我一个24 me内存的快速桌面。

我可以以某种方式将数据库文件加载到ram中以加快处理速度吗?

有数以百万计的记录,一些过程需要1/2小时或更长时间,主要是由于磁盘读/写

EN

回答 2

Software Engineering用户

发布于 2014-04-21 11:50:33

可能最简单的方法是使用"RAM磁盘“。周围有各种各样的软件。

http://www.softperfect.com/products/ramdisk/

当然,将大量数据加载到RAM本身需要一些时间。在计算机上安装SSD可以提高性能,而不必将数据加载到RAM中。

-EDIT

顺便说一句,对于您正在对可能产生重大影响的数据所做的处理,您不会说太多。例如,如果您正在读取每条记录进行计算并将数据写回,那么将数据加载到RAM中可能会减慢速度,因为您将加载到RAM中,从RAM加载记录,进程记录,保存到ram,保存到磁盘,而不是简单地将记录加载到RAM、进程记录、保存到磁盘。

票数 4
EN

Software Engineering用户

发布于 2014-04-21 13:09:24

可惜的是,Delphi 7只能产生32位二进制文件.这在24 GB未使用的内存中留下了很大一部分。

Options

  • RAM磁盘(如Jadee提议的那样)。
  • 专用缓存系统,比如Memcached,或者更值得推荐的Redis。
  • 运行多个程序实例,并将它们之间的数据"分片
  • 敬畏可能是64位操作系统上的一个选项。

注释

  • RAM磁盘和外部缓存都可以很容易地被其他进程使用。尽管它不会影响问题的解决,但这可能是一个重要的好处。
  • 对于Memcached和Redis以及其他系统,Memcached协议踩踏都可以使用Delphi适配器作为操作系统。我个人更喜欢Redis,因为它可以作为预置的Windows包使用.在Windows上构建Memcached是一个真正的皮塔,Redis在几分钟内就能启动并运行。
  • AWE需要一个非标准的特权,以及分配的物理(!)内存保留给调用进程。因此,我最后会考虑这个方案。
  • 对多个实例使用切分需要一些明确的分区逻辑。如果您不能这样做,您需要一个协调器,它将对性能产生影响,因此在这种情况下,最好使用缓存系统方法。
票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/236513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档