Зменшення продуктивності під Вільний час запуску, щоб вибрати... НА запит, після оновлення до SQL Server 2012 і пізніших версій

ВАЖЛИВО! Ця стаття перекладена засобами машинного перекладу Microsoft. Статтю можна редагувати в середовищі Community Translation Framework (CTF). Щоб якомога швидше перекласти всі статті у своїй базі знань різними мовами, компанія Microsoft не лише звертається до професійних перекладачів, але й вдається до машинного перекладу, який потім редагується спільнотою. Такі статті можуть містити лексичні, синтаксичні та граматичні помилки. Microsoft не несе відповідальності за будь-які неточності, помилки або збитки, до яких може призвести неправильний переклад статей або їх використання. Докладніше про CTF див. на веб-сторінці http://support.microsoft.com/gp/machine-translation-corrections/uk-ua.

Клацніть тут, щоб переглянути цю статтю англійською мовою: 3144525
Ознаки
Після оновлення з Microsoft SQL Server 2008 R2. або ранішої версії до SQL Server 2012 або пізнішої версії, можна помітити, щовибір... У запити, які містять визначені користувачем функції, зайняти більше часу для виконання, ніж у попередніх версіях.
причина
Ця проблема виникає через те, що це , виберіть,... У повністю системі інтерактивні елементи, які оператори, які містять визначені користувачем функції (UDF) і додатковий Вільний час, щоб завершити в SQL Server 2012 і пізніших версій.

Примітка. Будь-який вибір на ... У заяви про те, що містять користувацьких функцій, які мінімально системі операції в попередніх версіях (SQL Server 2008 R2 або ранішої версії). Ця зміна була представлена, переконайтеся, що цілісність даних, як функція користувача дає змогу операції читання та записування той самий об'єкт і може призвести до пошкодження даних, якщо мінімальна журналювання.
Обхідний шлях
Якщо користувацьких функцій, які використовуються в ... У оператор не слід виконувати будь-які операції з доступу до даних, можна вказати, щоб SCHEMABINDING пропозиції для користувача, функції, які будуть значення 0 для властивості отриманих UserDataAccess ці визначені користувачем функції. Після того, як це змінити вибір... У оператори будуть повертати з редагування мінімально. Щоб отримати додаткові відомості див. блог, наприклад за допомогою SCHEMABINDING зразка.

Примітка. Якщо у оператор досі посилається на принаймні одного користувача функція, що має цю властивість, значення 1, операція повністю записується.
Додаткові відомості
Наведений нижче зразок коду демонструє, поведінка системи різниця між SQL Server 2008 R2 і SQL Server 2012 або 2014 року:

create database DB1gouse DB1gocreate function dbo.MyTrim (@name as varchar(100))returns varchar (100)asbeginreturn (RTRIM(ltrim(@name)))endgocreate table dbo.tab_prod (c1 int, c2 varchar(10))godeclare @a int set @a = 1while @a <= 100000begin insert into tab_prodvalues (@a , '  test ')set @a = @a + 1endbegin transelect  *,  dbo.mytrim(c2) as trimc2 into tab_test from tab_prod

У наведеній нижче таблиці порівнюються, виберіть на операції в SQL Server 2008 R2 з тим, що SQL Server 2014 Вільний час ЦП:

ВерсіяВільний час для виконання (ЦП час)
SQL Server 2008 R2719 ms.
SQL Server 20141360 ms.

У наведеній нижче таблиці порівнюються за сценарій виконання журналу транзакцій, для виберіть на операції в SQL Server 2008 R2 з тим, що SQL Server 2014:

ВерсіяІм'я бази данихЖурнал, розмір (МБ)Журнал простір, що використовується (%)Стан
SQL Server 2008 R2DB10.742187551.578950
SQL Server 2014DB132.1796938.44380
Важливе зауваження У цих таблицях результати тільки для прикладу про зміни в поведінці, SQL Server 2008 R2 і SQL Server 2014 і конкретну лабораторії середовища, який використовувався для цієї перевірки. Фактична продуктивність різницю у вашому середовищі виходячи з устаткування, ваш SQL, наприклад, що працює на.
Примітка. Це екстрена стаття, яку написала служба підтримки Microsoft. Інформація в цій статті призначена для вирішення нових проблем і надається "як є". З огляду на швидкість її підготовки та публікації, ця стаття може містити орфографічні помилки і її може бути змінено будь-коли без попереднього повідомлення. Додаткову інформацію див. в повідомленні про авторське право.

Попередження. Цю статтю переведено автоматично

Властивості

Ідентифікатор статті: 3144525 – останній перегляд: 03/03/2016 22:32:00 – виправлення: 1.0

Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL 2005 Server Workgroup, Microsoft SQL 2005 Server Enterprise, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Web, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup

  • kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB3144525 KbMtuk
Зворотний зв’язок