【问题标题】:Is there a DBGrid component that can handle large datasets fast?是否有可以快速处理大型数据集的 DBGrid 组件?
【发布时间】:2008-10-14 11:33:45
【问题描述】:

大型数据集、数百万条记录需要特殊编程来保持 DBGrid 的速度。

我想知道是否有任何现成的 Delphi (DBGrids) 组件可以自动执行此操作?

编辑 例如:某些数据库具有获取第一个 X 记录(例如 100 条记录)等功能。当我通过滚动到达底部时,我想自动获取下一个 100。相反,当我到达开头时,我想获取前 100 个。我知道我可以对此进行编程,但肯定可以将该功能传播到DBGrid 控制 DBGrid 进行缓冲的位置。它将节省相当多的编程时间 - 您只需设置“缓冲区大小”即可。

【问题讨论】:

    标签: performance delphi dataset dbgrid


    【解决方案1】:

    您可能想看看精彩的(免费、开源、双重许可为 MPL 1.1 和 GPL,因此可用于闭源应用程序)Virtual TreeView 及其用户提供的后代(向下滚动页面以找到那些.)

    编辑以反映问题的编辑:Virtual TreeView 不仅允许您处理数百万个节点而不将它们保留在内存中,而且这实际上是使用它的首选方式。您可以在需要时通过事件回调提供数据,并且可以告诉树缓存该数据(或不缓存)。

    哦,当然它还有一个网格/报告模式,它可以用作表格(只需将 GridExtensions 属性设置为 True。)

    【讨论】:

      【解决方案2】:

      我会看看Developer Express QuantumGrid Suite。 (@birger:你只是快了一点;-))所以我不只是重复答案,而是进行一些阐述:

      DevExpress Grid 使用具有多种模式的数据控制器来控制绑定到网格的数据。其中之一正是您正在寻找的:

      网格模式

      当使用网格模式时,只有一个固定的 加载的数据集记录数 进入记忆。因为只有有限的 记录集是从 数据集,自动排序,过滤 和汇总计算被禁用 在网格模式下(必须控制 手动代替)。默认情况下,这 模式被禁用,并且 ExpressDataController 加载所有 数据集中的记录。

      它确实有一些缺点,这似乎很明显:如果手头没有所有记录,则无法进行汇总、排序或过滤。

      【讨论】:

      • 感谢您提供此信息,很难通过 Google 获得。 :)
      • 感谢您指出 DevExpress 产品的缺点(无法过滤、排序和汇总),特别是因为它比这里提到的替代品贵得多。而且这个缺点一点也不明显——这些虚拟数据集的全部意义在于繁重的工作是在服务器端完成的;该控件仅操纵 SQL 以通过网络仅提取所需的数据。
      【解决方案3】:

      NextGrid 是用于 Delphi 的轻巧、快速且美观的网格

      http://www.bergsoft.net/component/next-grid/features.htm

      在不降低速度的情况下处理大量电池

      NextGrid 可以处理非常大的数量 细胞而不会失去速度。速度 添加、修改和删除数据 不取决于细胞的数量。 在 NextGrid 演示中,您可以看到速度有多快 NextGrid 使用 100,000 行和 10 列 = 1,000,000 个单元格

      【讨论】:

        【解决方案4】:

        我觉得DevExpress Quantumgrid支持这个很好。

        【讨论】:

          【解决方案5】:

          抱歉,我刚刚看到你对 Neftalí 的评论

          如果你每次要带 100 条记录,然后再获取下 100 条,这个工作与数据库访问组件有关,看看 devart 组件,它们是提供对最常用数据库的直接访问组件,并且它们具有您所询问的功能等等:

          http://www.devart.com/products-vcl.html

          【讨论】:

          • 我想让 DBGRid 做缓冲
          猜你喜欢
          • 2013-12-29
          • 1970-01-01
          • 1970-01-01
          • 2011-09-30
          • 2021-04-17
          • 1970-01-01
          • 2011-01-29
          • 2013-09-14
          • 2015-09-22
          相关资源
          最近更新 更多