Pontos de consulta dentro de um determinado raio no MySQL

Eu criei a seguinte tabela MySQL para armazenar coordenadas de latitude / longitude junto com um nome para cada ponto:

CREATE TABLE `points` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(128) NOT NULL,
  `location` point NOT NULL,
  PRIMARY KEY (`id`),
  SPATIAL KEY `location` (`location`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

Estou tentando consultar:

todos os pontos dentro de umn raio de milha de um determinado ponto;a distância de cada ponto retornado do ponto especificado

Todos os exemplos que encontrei referem-se ao uso de um retângulo delimitador mínimo (MBR) em vez de um raio. A tabela contém aproximadamente 1 milhão de pontos, portanto, essa necessidade precisa ser o mais eficiente possível.

questionAnswers(4)

yourAnswerToTheQuestion