Для выполнения группировки создаётся временная таблица, а уже потом происходит сортировка по этой временной таблице. Группировка очень быстрая так как по индексу, а сортировка медленная так как в созданной временной таблице никаких индексов для сортировки уже нет и приходится сортировать без индексов (Using filesort). Вот что могу посоветовать:
1) Убедится что временная таблица создаётся в памяти, SHOW STATUS LIKE 'Created_tmp_disk_tables' не должно расти.
2) Убедится что сортировка происходит без создания временных файлов на диске. Для этого нужно убедится что SHOW STATUS LIKE 'Sort_merge_passes'; не растёт быстро. Если растёт то перед запросом сессионно прибавьте значение настройки sort_buffer_size.
3) Лучшее решение: записей у вас много, лучше придумать другую структуру данных чтобы отказаться от этого запроса.
PS На всякий случай приведите вывод EXPLAIN и EXPLAIN ANALYZE когда у вас prop_id` in (1,2,3,...) штук 20, интересно из-за чего увеличивается время запроса: из-за роста кол-ва записей которые попадают в выборку или из-за того что в какой-то момент MySQL решает что full table scan выгодней и отказывается от использования индекса