title: Why doesn't this query use key(MySQL 5.7 spatial)?
body: <p>I'm using MySQL 5.7.10, the storage engine is InnoDB.
  Below are the SQLs.<br>
  1. create table</p>
  
  <pre><code>CREATE TABLE `geo` (
  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `geo` GEOMETRY NOT NULL,
  PRIMARY KEY (`id`),
  SPATIAL INDEX `geo` (`geo`)
  )
  COLLATE='utf8mb4_general_ci'
  ENGINE=InnoDB
  AUTO_INCREMENT=1
  </code></pre>
  
  <p>2. insert data</p>
  
  <pre><code>insert into geo(geo) values(ST_GeomFromText('POINT(108.875000 34.216020)'));
  insert into geo(geo) values(ST_GeomFromText('POINT(109.569098 36.646357)'));
  insert into geo(geo) values(ST_GeomFromText('POINT(109.550988 36.633384)'));
  insert into geo(geo) values(ST_GeomFromText('POINT(109.472800 36.624116)'));
  insert into geo(geo) values(ST_GeomFromText('POINT(109.487460 36.563614)'));
  insert into geo(geo) values(ST_GeomFromText('POINT(109.532016 36.686191)'));
  insert into geo(geo) values(ST_GeomFromText('POINT(109.319010 36.987505)'));
  </code></pre>
  
  <p>3. create a polygon</p>
  
  <pre><code>SET @g3 = ST_GeomFromText('Polygon((108 36.5,108 36.7,109.5 36.7,109.5 36.5,108 36.5))');
  </code></pre>
  
  <p>4. explain SQL</p>
  
  <pre><code>mysql&gt; explain select st_x(geo),st_y(geo) from geo where mbrcontains(@g3,geo)&gt;0\G
  *************************** 1. row ***************************
  id: 1
  select_type: SIMPLE
  table: geo
  partitions: NULL
  type: ALL
  possible_keys: NULL
  key: NULL
  key_len: NULL
  ref: NULL
  rows: 8
  filtered: 100.00
  Extra: Using where
  1 row in set, 1 warning (0.00 sec)
  
  mysql&gt; show warnings\G
  *************************** 1. row ***************************
  Level: Note
  Code: 1003
  Message: /* select#1 */ select st_x(`map`.`geo`.`geo`) AS `st_x(geo)`,st_y(`map`.`geo`.`geo`) AS `st_y(geo)` from `map`.`geo` where (mbrcontains((@`g3`),`map`.`geo`.`geo`) &gt; 0)
  1 row in set (0.00 sec)
  </code></pre>
  
  <p>Why doesn't this query use key?</p>