#mysql #sql #mysql-workbench
#mysql #sql #mysql-workbench
Вопрос:
У меня проблема в mysql. я создал таблицу для некоторых полигонов и добавил индекс, но индекс не используется при выборе данных это моя таблица для хранения полигонов
CREATE TABLE road_polygon (
id bigint(12) unsigned NOT NULL AUTO_INCREMENT,
road_polygon polygon NOT NULL,
PRIMARY KEY (id),
SPATIAL INDEX (road_polygon)
) ENGINE=InnoDB
Когда я запрашиваю данные, не используется индекс. я проверил документацию Mysql и многие сообщения, но не решает, также я пытался изменить MyISAM, который не работает
explain
select id, road_polygon
from road_polygon
where st_contains(road_polygon, POINT(32.027856, 36.803250));
id select_type table partitions type possible_keys key key_len ref rows filtered Extra
1 SIMPLE road_polygon NULL ALL NULL NULL NULL NULL 77 100.00 Using where
также я использую Mysql 8.0.12 InnoDB.
Пожалуйста, любая помощь, как решить эту проблему. Спасибо.
Комментарии:
1. Не могли бы вы, пожалуйста, отредактировать свой вопрос, чтобы показать вывод
explain
команды?2. Какую версию MySQL вы используете? в 5.7 и 8.0 используется код Boost.geometry, который на несколько световых лет превосходит то, что было в более ранних версиях
3. Спасибо. Я обновил вопрос, также я использую Mysql 8.0.12
4. @ThomasG есть ли какое-либо решение? Мне действительно нужно, чтобы это работало.
5. вы нашли решение? Я застрял на той же проблеме