- Автор темы
 - #1
 
есть таблица с большим количество записей. Как лучше сделать в плане производительности.
Т.е. человек задает адресс и радиус и ему ищется количество результатов по радиусу, и сортируется по близости к пользователю
но таблица огромная (вообще-то их 2, первая с исполнителями ,а вторая с адрессами исполнителей т.е долгота широта)
Если всё записывать в массив и там(в серверном языке) уже считать записи подходящие ,то будет памяти не слабо брать. Может можно как-то отсортироваться на уровне запроса, а также не брать пустые записи.
Конечно хорошо счетчик использовать COUNT будет не так жрать ресурсы, ну а если эти результаты еще и выводить нужно будет.
что я пока надумал
SELECT * FROM vendor WHERE COALESCE(n1,n2,n3,n4) IS NOT NULL AND distance<$distance ORDER BY distance DESC
 
 
хотя * использовать не комильфо по производительности
где расстояние лучше пересчитывать в php или mysql
	
		
			
		
		
	
				
			Т.е. человек задает адресс и радиус и ему ищется количество результатов по радиусу, и сортируется по близости к пользователю
но таблица огромная (вообще-то их 2, первая с исполнителями ,а вторая с адрессами исполнителей т.е долгота широта)
Если всё записывать в массив и там(в серверном языке) уже считать записи подходящие ,то будет памяти не слабо брать. Может можно как-то отсортироваться на уровне запроса, а также не брать пустые записи.
Конечно хорошо счетчик использовать COUNT будет не так жрать ресурсы, ну а если эти результаты еще и выводить нужно будет.
что я пока надумал
SELECT * FROM vendor WHERE COALESCE(n1,n2,n3,n4) IS NOT NULL AND distance<$distance ORDER BY distance DESC
хотя * использовать не комильфо по производительности
где расстояние лучше пересчитывать в php или mysql