if ( (condition_A)
&& (condition_B)
&& (condition_C)
&& (condition_D)
&& (condition_E)
&& (condition_F)
)
{
...
}
в отличие от
if (condition_A) {
if (condition_B) {
if (condition_C) {
if (condition_D) {
if (condition_E) {
if (condition_F) {
...
}
}
}
}
}
}
и
if ( ( (condition_A)
&& (condition_B)
)
|| ( (condition_C)
&& (condition_D)
)
|| ( (condition_E)
&& (condition_F)
)
)
{
do_this_same_thing();
}
в отличие от
if (condition_A && condition_B) {
do_this_same_thing();
}
if (condition_C && (condition_D) {
do_this_same_thing();
}
if (condition_E && condition_F) {
do_this_same_thing();
}
Большинство инструментов статического анализа для изучения кода будут жаловаться, если несколько условных выражений не используют явные скобки, предписывающие анализ выражений, вместо того, чтобы полагаться на правила приоритета операторов и меньше скобок.
Вертикальное выравнивание на одном и том же уровне отступа открытых / закрытых скобок {}, открытых закрывающих скобок (), условных выражений с круглыми скобками и операторов слева - очень полезная практика, которая значительно повышает удобочитаемость и ясность кода в отличие от чтобы заклинило все, что может быть зажато в одну строку, без выравнивания по вертикали, пробелов или скобок
Правила приоритета оператора хитры, например: & Amp; & Amp; имеет более высокий приоритет, чем ||, но | имеет приоритет над & amp; &
Итак, ...
if (expr_A & expr_B || expr_C | expr_D & expr_E || expr_E && expr_F & expr_G || expr_H {
}
является действительно простым множественным условным выражением, которое простые люди могут читать и оценивать неправильно.
if ( ( (expr_A)
& (expr_B)
)
|| ( (expr_C)
| ( (expr_D)
& (expr_E)
)
)
|| ( (expr_E)
&& ( (expr_F)
& (expr_G)
)
)
|| (expr_H)
)
{
}
Нет ничего плохого в горизонтальном пространстве (переводы строк), вертикальном выравнивании или явной скобке, определяющей оценку выражений, и все это повышает удобочитаемость и ясность
Да, задача массовой вставки SSIS использует те же функции подчеркивания, что и команда BULK INSERT.
Скорее всего, вы заметите различия в профилировщике SQL, поскольку задача массовой вставки будет использовать подчеркивание COM-объекта напрямую (что обеспечивает массовую вставку), а не просто быть оболочкой графического интерфейса пользователя для команды T-SQL. Поэтому я предполагаю, что вместо указания FROM он передает указатель открытого потока ввода-вывода на COM-объект.
Массовая вставка - это в значительной степени самый быстрый способ загрузки большого количества данных в SQL Server, поскольку он выполняется внутри процесса, «разделяя одно и то же адресное пространство памяти. Поскольку файлы данных открываются процессом SQL Server, данные не копируется между клиентским процессом и процессами SQL Server ». 1
Однако производительность будет зависеть от того, находится файл на том же компьютере, что и SQL Server, или нет.