У меня в коде два выбора, первый случайный выбор любых 20 спортсменов
db.Query("SELECT sp_no, first_name FROM sportsmen LIMIT ?,20", rand.Intn(100000))
Затем для каждого возвращенного спортсмена в цикле сделать еще один выбор из таблицы очков, где опубликованы их результаты в различных соревнованиях
db.Query("SELECT max(point) FROM points WHERE sp_no =" + spNo)
В результате у меня 20 спортсменов с именами по имени и по наибольшему количеству очков.
Я ищу оптимизацию этих вариантов, чтобы объединить их в один, чтобы избежать зацикливания в коде, а затем измерить производительность.
Как иметь один оператор выбора, который возвращает first_name и их наивысшие баллы?
Похоже, это комбинация соединений выбирает, присоединяется и существует проверка?
Спасибо.