【问题标题】:How to get data efficeiently and show it in DevExpress GridView?如何有效地获取数据并在 DevExpress GridView 中显示?
【发布时间】:2020-03-20 18:22:55
【问题描述】:

我现在有一个 sql 查询,它返回 20 列和大约 500 000 行。这些值正在运行,因为人们正在处理数据库中的数据。 查询中的大多数列都不是简单的选择,但有很多“情况”。数据来自 5 个表。 有没有办法以有效的方式在 GridView 中显示数据。现在我显示所有数据(500000 行),这需要很长时间。我已经尝试过分页,但是当我想例如取 100 行,偏移量为 10 行时,整个查询被执行并且需要很长时间。 我该如何应对?

【问题讨论】:

    标签: c# winforms devexpress sql-server-2016


    【解决方案1】:

    我认为您在这里有两个单独的问题:

    1. 查询慢:一定要优化您的查询。网上有很多thousands of articles。我的第一个选择总是检查我加入表的列的索引。从分析execution plan开始,你会很快发现主要问题。

    2. 记录的绝对数量。 500000 对于任何人来说至少是 100 倍大,完全无法使用。有两种解决方案:限制返回记录的数量(添加另一个条件)或使用Server mode作为网格。

    【讨论】:

      【解决方案2】:

      我会尝试优化 sql 查询。 '已收到来自其他开发人员的代码。主要问题是“case when”列的数量。我考虑将所有“案例计算”从 sql 带到应用程序,但它需要大量时间来重构,我的 PM 不会让我这样做,所以我试图在 sql 中找到快速解决方案

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-01-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多