MySql не использует пространственный индекс - PullRequest
0 голосов
/ 11 июля 2019

У меня есть пространственный столбец и пространственный индекс для него. Когда я делаю запрос, я вижу, что MySql не использует этот индекс. Таблица имеет 10 тыс. Записей. Почему?

schema.rb

create_table "homes_raw", id: :string, limit: 22, options: "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci", force: :cascade do |t|
   t.geometry "location", limit: {:type=>"point", :srid=>0}, null: false
   t.index ["location"], name: "location_spatial", type: :spatial
end

Выполнение запроса с EXPLAIN

EXPLAIN for: SELECT `homes_raw`.* FROM `homes_raw` WHERE (ST_Distance_Sphere(
            ST_GeomFromText(ST_AsText(location), 0), POINT(60.41217340143263, 64.48856982983708)
            ) <= 100000)
    ```

[EPLAIN result][1]


  [1]: https://i.stack.imgur.com/IRDGS.png
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...