Табличні змінні і тимчасові таблиці в sql server 2014: паралельна інструкція select into

Відео: SQL Створення таблиць

Табличні змінні і тимчасові таблиці в SQL Server 2014: паралельна інструкція SELECT INTO
До появи SQL Server 2014 інструкцію SELECT INTO не можна було обробляти паралельно. Зокрема власне елемент вставки (оператор Table Insert) завжди оброблявся в послідовній зоні. У SQL Server 2014 з`явилася можливість паралельної обробки SELECT INTO. Краса цього рішення в тому, що воно не вимагає ніяких змін з боку користувача, крім використання SQL Server 2014. Завдяки паралельній обробці досягається істотне підвищення продуктивності. Можливості не обмежуються використанням тимчасових таблиць в якості мети, але SELECT INTO дуже часто використовується для створення та заповнення цільової тимчасової таблиці.

Табличні змінні і тимчасові таблиці в SQL Server 2014: паралельна інструкція SELECT INTO
Використання паралельності інструкцій SELECT INTO

Як приклад я виконав наведений вище програмний код як в SQL Server 2012, так і в SQL Server 2014. Якщо у вас він не працює, тоді вам швидше за все буде потрібно ремонт комп`ютера київ (https://helpcomputer.com.ua/) або , по крайней мере, перевстановлення SQL Server.

Табличні змінні і тимчасові таблиці в SQL Server 2014: паралельна інструкція SELECT INTO
План для SQL Server 2012




На малюнку вище показаний план для SQ! Server 2012 (з послідовним оператором Table Insert), а на малюнку нижче - план, отриманий для SQL Server 2014 (з паралельним оператором Table Insert).




Табличні змінні і тимчасові таблиці в SQL Server 2014: паралельна інструкція SELECT INTO
План для SQL Server 2014

Обов`язкові операції записи

У SQL Server використовується функція, відома як «обов`язкові операції записи» (eager writes), завдяки якій групові операції не заповнюють пам`ять новими сторінками за рахунок існуючих кешованих сторінок. Ідея полягає у відстеженні циклічного списку з 32 «брудних» сторінок. Коли список повний, eager writes записують їх на диск, щоб звільнити список для нового набору сторінок. Недолік цієї функції в тому, що при короткочасних групових операціях в tempdb (наприклад, SELECT INTO #TempTable, CREATE INDEX WITH SORT_IN_TEMPDB і ін.) В кінцевому підсумку виникає інтенсивна фізична активність диска, яка негативно відбивається на продуктивності операції. У SQL Server 2014 реалізовано додаток, що полегшує обов`язкові операції записи для будь-якої сторінки, на яку ведеться запис групової операції. Наприклад, якщо збережена процедура створює і заповнює тимчасову таблицю за допомогою інструкції SELECT INTO і швидко завершується, то, швидше за все, фізична активність диска буде відсутній.

Щоб отримати інформацію про обов`язкові операціях запису, можна встановити в сеансі прапор трасування 3917. Також необхідно встановити прапор трасування 3604, щоб отримати вихідні дані, що направляються клієнту, або прапор 3605, щоб отримати дані, що направляються в журнал помилок.

Гідність цієї функції в тому, що, як і в випадку з паралельної інструкцією SELECT INTO, користувачеві не потрібно змінювати свій програмний код. Продуктивність просто підвищується, якщо використовувати версію продукту з номером збірки, яка підтримує це поліпшення. Це нововведення з`явилося в SQL Server 2014 року, але пізніше було перенесено в попередні версії - SQL Server 2012 SP1 CU10 і SQL Server 2012 SP2 CU1 (https://support2.microsoft.com/kb/2958012/en-us?sd=rssspid= 1044).

Додаткові відомості про поліпшення в обов`язкових операціях запису можна знайти в блозі CSS SQL Server Engineers (https://blogs.msdn.com/b/psssql/archive/2014/04/09/sql-server-2014-tempdb-hidden-pcrformance -gem.aspx).

ІНШЕ

Ubuntu server фото

Ubuntu server

Відео: Ubuntu Server 14.04.2. установка Інша популярна редакція - Ubuntu Server (http: // ubuntu. Com / server).…

Нові функції windows server 2016 фото

Нові функції windows server 2016

Контейнери Windows Server і контейнери Hyper-V Наступне важливе зміна в Windows Server 2016 відноситься до контейнерів.…

» » Табличні змінні і тимчасові таблиці в sql server 2014: паралельна інструкція select into