Я пишу код SQL, который будет запущен в MapBasic (язык программирования MapInfo). Лучший способ описать вопрос: Пример:SQL - Разделить поток данных запроса на две отдельные таблицы [Теоретическая оптимизация]
Я хочу выбрать все записи, где ShipType = «Barge» в запрос с именем Barges, и я хочу, чтобы все остальные записи были помещены в запрос OtherShips.
я мог бы просто использовать следующие SQL команды:
select * from ShipsTable where ShipType = "Barge" into Barges
select * from ShipsTable where ShipType <> "Barge" into OtherShips
Это хорошо и все, но я не могу помочь, но чувствую, что это неэффективно. Не будет ли SQL дважды искать базу данных? Не найдут ли строки данных, которые соответствуют второму запросу во время обработки 1-го?
Вместо этого, было бы быстрее, если бы там была команда, как:
select * from ShipsTable where ShipType = "Barge" into Barges ELSE into OtherShips
Мой вопрос, вы можете это сделать? Есть ли команда, которая соответствует этой спецификации?
Спасибо,
А, аналогичный ответ Уффе на группу MapInfo-L еще не видел этого. Во всяком случае, похоже, что вы провели какое-то тестирование, и это немного повышает производительность, делая это таким образом. –
Ха-ха спасибо за ответ независимо! :) – Sancarn