Стратегії продуктивності транзакцій

Теорія цілісності транзакцій на перший погляд може здатися лякаючою, і SQL Server має безліч інструментів управління ізоляцією транзакцій Якщо база даних рідко використовується або призначена тільки для читання, то блокування транзакцій взагалі не складає проблеми У той же час в інтенсивно використовуваних базах даних OLTP слід застосовувати теорію і знання, отримані в цьому розділі, а також використовувати деякі стратегії Так як блокування являють собою четверту стратегію оптимізації, перед її використанням переконайтеся, що були враховані перші три стратегії

1 Почнемо з теорії оптимізації Використовуйте в якості основи прозору, спрощену схему, щоб зменшити число непотрібних обєднань, а також обсяг програмного коду, використовуваного для переміщення даних з одного набору в інший

2 Використовуйте ефективний пакетний код, а не болісно повільні курсори і цикли

3 Використовуйте цілісну стратегію індексування, щоб виключити зайві сканування таблиць і прискорити транзакції

Для ідентифікації проблем блокування використовуйте Activity Monitor або SQL Profiler

Щоб зменшити частоту виникнення проблем блокування, виконайте наступне

■ Виконайте оцінку і тестування з використанням рівня ізоляції Read Commited Snapshot Залежно від способу обробки помилок і потужності обладнання цей рівень ізоляції може істотно знизити конкуренцію

■ Перевірте рівень ізоляції транзакцій і переконайтеся, що він не вище необхідного рівня

■ Переконайтеся, що транзакції починаються і підтверджуються швидко Змініть структуру тих транзакцій, які містять курсор Перемістіть весь програмний код, який не є необхідним в транзакції, за її межі

■ Якщо дві процедури потенційно можуть викликати взаємоблокування, переконайтеся, що вони блокують ресурси в одному і тому ж порядку

■ Переконайтеся, що клієнтське додаток здійснює доступ до бази за допомогою рівня абстракції даних

■ Форсуйте блокування сторінок за допомогою параметра (rowlock), щоб уникнути ескалації блокувань

Резюме

Транзакція являє собою логічну одиницю роботи Незважаючи на те що рівень ізоляції, встановлений в SQL Server за замовчуванням, відмінно підходить більшості додатків, існують деякі механізми маніпулювання і управління блокуваннями Щоб створити серйозне додаток SQL Server, потрібно розуміння принципів Асю, порядку роботи журналу транзакцій SQL Server, а також механізму блокувань Все це відібється на якості, продуктивності і надійності бази даних

У наступному розділі ми доповнимо методи оптимізації стратегією високої доступності

Джерело: Нільсен, Пол Microsoft SQL Server 2005 Біблія користувача : Пер з англ – М: ООО ІД Вільямс , 2008 – 1232 с : Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*