У меня есть пространственный столбец и пространственный индекс для него. Когда я делаю запрос, я вижу, что 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