Код: Выделить всё
SELECT * FROM `pet` WHERE (`unite_id` IS NULL) AND ((`status`=1) OR ((`status`=4) AND (`delete_reason` IN (1, 2, 5)))) AND ((`pet`.`latitude` BETWEEN '55.750958149654984' AND '55.76893750736974') AND (`pet`.`longitude` BETWEEN '37.416257858276374' AND '37.432994842529304')) ORDER BY `premium_on` DESC, `date` DESC, `created_at` DESC LIMIT 100;
Объясните:
id
select_type
таблица
разделы
тип
possible_keys
key
key_len
ref
строки
отфильтровано
Дополнительно
1
ПРОСТОЙ
pet
\N
индекс
status,idx_pet_geo_opt,idx_pet_geo
premium_on
12
\N
101
0,12
Использование где; Обратное сканирование индекса
Индекс premium_on из 3 поля: premium_on, date, Create_at.
Что я могу сделать, чтобы ускорить этот запрос? Меня особенно интересует поиск по квадрату с широтой и долготой
Подробнее здесь: https://stackoverflow.com/questions/793 ... with-latit
Мобильная версия