0

ブラウザでレンダリングするために境界ボックス内のデータベース ポイントから取得するコードがあります。属性(名前など)を持つポイントのリストも表示します

ただし、フィルターがデータセットに適用されると、大きなカウント ポイントが得られる場合があります (例: 約 50000)。ブラウザで 50000 ポイントをレンダリングすると、パフォーマンスの問題が発生する可能性があります。したがって、私の意見では、ページング アルゴリズムを適用する必要があります (LIMIT と OFFSET による)。ただし、まずブラウザ ボックス内でフィルタリングされたポイントをレンダリングし、次に他のすべてをレンダリングする必要があります。

UPD: このバリアントを見つけました:

SELECT gs.id, gs.name, ST_Contains(ST_GeomFromText('POLYGON(...)', 4326), gs.point) as contains
FROM geoms as gs
WHERE gs.name LIKE '%Berlin%'
ORDER BY contains DESC
LIMIT 50
4

1 に答える 1

1

あなたが持っているクエリは必要なものに対して機能しますが、ほとんどがウィンドウの外にある 50k ポイントを表示する必要がありますか? 標準的なアプローチでは、ブラウザ ボックス内とその周辺のポイントをクエリし、位置が変化したときに残りをロードします。

于 2013-05-09T16:22:35.687 に答える