SSIS, вставляют объем то же как ОБЪЕМНАЯ Вставка

    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)
       )
    {
    }

Нет ничего плохого в горизонтальном пространстве (переводы строк), вертикальном выравнивании или явной скобке, определяющей оценку выражений, и все это повышает удобочитаемость и ясность

5
задан Ralph Shillington 13 May 2009 в 14:17
поделиться

1 ответ

Да, задача массовой вставки SSIS использует те же функции подчеркивания, что и команда BULK INSERT.

Скорее всего, вы заметите различия в профилировщике SQL, поскольку задача массовой вставки будет использовать подчеркивание COM-объекта напрямую (что обеспечивает массовую вставку), а не просто быть оболочкой графического интерфейса пользователя для команды T-SQL. Поэтому я предполагаю, что вместо указания FROM он передает указатель открытого потока ввода-вывода на COM-объект.

Массовая вставка - это в значительной степени самый быстрый способ загрузки большого количества данных в SQL Server, поскольку он выполняется внутри процесса, «разделяя одно и то же адресное пространство памяти. Поскольку файлы данных открываются процессом SQL Server, данные не копируется между клиентским процессом и процессами SQL Server ». 1

Однако производительность будет зависеть от того, находится файл на том же компьютере, что и SQL Server, или нет.

1 О массовом импорте и массовом экспорте Операции

5
ответ дан 14 December 2019 в 19:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: