Я выполняю запрос MYSQL в два этапа.Сначала я получаю список идентификаторов с одним запросом, а затем извлекаю данные для этих идентификаторов, используя второй запрос в формате SELECT * FROM data WHERE id in (id1, id2 ...)
.Я знаю, это звучит глупо, но я сделал это таким образом, поскольку запросы очень сложны;первая включает в себя много геометрии и триггонометрии, вторая - много разных соединений.Я уверен, что они могут быть записаны в одном запросе, но мой MYSQL недостаточно хорош, чтобы его осуществить.
Этот подход работает, но он не чувствует правильным;плюс я обеспокоен тем, что он не будет масштабироваться.В данный момент я тестирую базу данных из 10 000 записей, с 400 идентификаторами в предложении «IN» (т.е. IN (id1, id2 ... id400)
), и производительность в порядке.Но что, если есть, скажем, 1 000 000 записей?
Где существуют узкие места в производительности (скорость, память и т. Д.) Для этого вида запроса?Любые идеи о том, как реорганизовать этот вид запроса, тоже будут классными.(например, если стоит заняться хранимыми процедурами).