Моя таблица coordinates
:
id (PK) SERIAL, address (VARCHAR), city (VARCHAR), latitude (VARCHAR), longitude (VARCHAR)
У меня есть список из 10000 адресов, по которым я зацикливаюсь, чтобы получить соответствующую широту / долготу, если адрес существует встол.
Запрос SELECT
выглядит следующим образом:
SELECT ADDRESS, CITY, LATITUDE, LONGITUDE FROM coordinates WHERE address = ? AND city = ?
Затем я проверяю набор результатов, чтобы увидеть, было ли совпадение.Затем остальные 9999 адресов проходят через указанный выше запрос, который занимает слишком много времени.
Есть ли способ создать ОДИН запрос, который содержит все 10000 адресов и возвращает набор результатов с 4 столбцами: |address|city|latitude|longitude|
Любой не найденный адрес должен иметь пустое (0 или нулевое) значение широты / долготы в этом столбце набора результатов.Я предполагаю, что мог бы затем зациклить набор результатов, чтобы определить что-то пропущенное, намного быстрее, чем 10 000 операторов.
Какой лучший подход?