sql >> データベース >  >> RDS >> PostgreSQL

私のpostgisがジオメトリフィールドにインデックスを使用しないのはなぜですか?

    ST_Distance_Sphere()は期待できません このクエリでインデックスを使用します。 geomフィールドの内容を計算してから、計算結果を比較します。クエリとほぼ同じ計算を行う関数インデックスがない限り、このようなシナリオではデータベースはインデックスを使用しない可能性があります。

    ある地点から特定の距離にある場所を見つける正しい方法は、 ST_DWithin

    および




    1. サブクエリでLIMITを使用し、サブクエリと外部クエリでWHERE句を複製してクエリを簡略化する

    2. MySQL同じ列値を持つ重複行を削除します

    3. 垂直出力を使用してSQLiteクエリ結果を表示する

    4. run-asを使用して、内部ストレージからデータベースまたはその他のファイルを取得します