Похоже, речь идет именно об определении большого запроса внутри своего рода языка программирования, когда вы помещаете запрос в строковый литерал и объединяете его.
Если это скомпилированный язык, это не должно иметь никакого значения - одна из первых оптимизаций, которые сделает компилятор, - это автоматическое объединение строковых литералов вместе, так что в любом случае вы получите большую строку.
Что касается синтаксиса, вам следует подумать о том, чтобы переместить запрос за пределы вашего кода - сохраните его в отдельном файле ресурсов .sql и попросите программное обеспечение прочитать этот файл. Используйте подготовленные операторы для переменных, если это не запрос, который создается динамически (т. Е. Операторы where и т. Д. Добавляются в зависимости от определенных параметров). Если он построен динамически, вы можете добавить собственные переменные замены, вставляя дополнительные параметры там и тогда, когда это необходимо.
Что касается столбцов 1600, я настоятельно рекомендую создать представление для этого, поэтому вместо
SELECT column1, column2, .... column1600 from X where Y
вы получите
ВЫБЕРИТЕ * ИЗ ViewX, ГДЕ y
Гораздо лаконичнее в вашем собственном коде.
.
), которые, как я видел, некоторые программисты обвиняют в снижении производительности.