У меня есть большая база данных (180k + строки и быстро растущая) данных о местоположении, и я рисую их на карте google. Для данного порта просмотра я просто хочу подать образец из 100 применимых точек. Поэтому база данных запрашивается lat/lng, но если я помещу индекс в эти строки, проблема состоит в том, что образец из 100 пунктов будет либо внизу, либо в верхней части порта представления (в зависимости от того, как используется индекс) , Если индекс не используется, точки в значительной степени случайным образом разбросаны по порту представления, что гораздо более желательно. Я могу создать тот же эффект для индексированных результатов, выполнив файлсорт на третьем, довольно случайном поле.MySQL: лучше ли иметь индекс и небольшой файловый сервер или индекс и нет файлов?
Итак, проблема в том, что лучше: неиндексированный запрос на 180k + строках или индексированный запрос, который будет выглядеть примерно так, как строки 4k & делать filesort? Благодаря!
Для начала: убедитесь, что вы правильно поняли термин «filesort»: http://www.mysqlperformanceblog.com/2009/03/05/what-does-using-filesort-mean-in-mysql/ – zerkms
Ничто не указывает на то, что он не делает? ORDER BY RAND() всегда использует filesort, не так ли? –