【问题标题】:Basic Select on table with lots of rows is very slow有很多行的表上的基本选择非常慢
【发布时间】:2014-02-10 20:11:53
【问题描述】:

我目前正在设置 sql server 和 geoserver,以便在客户端 Web 浏览器上使用 openlayers 呈现我自己的地图。我遇到的问题是我的 SQL Server 数据库包含大量道路(德克萨斯州的每条道路),并且表上的简单选择需要 FOREVER(几乎 2 分钟,有 2,348,638 行)。有没有人有任何建议或建议可以用来加速此查询,以便我的地图服务器不需要一百万年来为客户端呈现地图图块。谢谢

【问题讨论】:

  • 如果您希望任何人有机会帮助您,您应该发布您的 SQL 和表结构。
  • 您是否选择了所有列和所有行?为什么?有人真的会有效地消耗所有 200 万行,以及每条道路的每一个属性吗?您是否也在另一台机器上从 Management Studio 运行此查询?如果是这样,您需要考虑通过网络传输 2+ 百万行,然后让应用程序渲染它们会导致一些缓慢。为什么不尝试专注于解决在对表运行真实、有意义的查询时出现的性能问题?
  • 在我看来,由于道路并没有真正改变太多,您应该考虑预先实现地图图块等。
  • 你有任何有用的链接来预先实现地图图块吗?
  • 因为我们什么都不知道,我假设你没有索引你的搜索过滤列,这迫使 SQL Server 每次都进行全表扫描。这是我要研究的第一件事。当然,如果您可以发布表的示例定义,以及您用来从中选择数据的查询,这将大大帮助我们帮助您。 :)

标签: sql-server openlayers geospatial geoserver spatial-index


【解决方案1】:

与您的其他 question 相同,在部分呈现时:索引您的数据。几何字段和您可能过滤的任何其他字段的索引。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    • 1970-01-01
    • 2015-03-22
    • 1970-01-01
    • 2023-02-17
    相关资源
    最近更新 更多