Використання Database Engine Tuning Advisor

SQL Server 2005 в своєму розпорядженні прекрасним інструментом, який дозволяє аналізувати один запит або безліч запитів і генерує рекомендації щодо створення індексів і розділів, що підвищують продуктивність (Рис 506)

Database Engine Tuning Advisor є модернізацією майстра налаштування Новинка ^ індексів (Index Tuning Wizard) версії SQL Server 2000 Нова утиліта також 2005 рекомендує модифікації файлової структури

Використовуйте утиліту Database Tuning Advisor для перевірки і точного налаштування стратегії індексації Якщо ця утиліта запропонує вам додати деякий індекс, постарайтеся зрозуміти, чому Добре розуміння даних, запитів та індексації також має важливе значення для розробника, щоб дозволити цій утиліті виконати свою роботу

Puc 506 Утиліта Database Engine Tuning Advisor здатна ідентифікувати недоліки індексації та запропонувати вирішення проблеми

Резюме

На середньому рівні теорії оптимізації лежить індексація Для усвідомленого створення індексів потрібно розуміти не тільки технології – оптимізатор запитів, індексні сторінки і параметри індексації, – але також схему і рівень абстракції даних Це одна з проблемних областей, де теоретичні знання та практичні навички мають першорядне значення У наступному розділі ми продовжимо розмову про продуктивність, торкнувшись питання підвищення доступності бази даних

Управління транзакціями і блокуванням

Я люблю поїсти, і мені подобається бродити по відділу бакалії, але я ніколи не розумів, чому власники супермаркетів не відкривають нові каси, коли черги досягають неймовірної довжини Якби вони читали технічні журнали, а не займалися порожнім базіканням, все виглядало б не так безнадійно

Конкуренція означає боротьбу У міру збільшення кількості користувачів, що працюють з одними і тими ж ресурсами, продуктивність запитів падає

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

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

Саме тому на четвертому рівні теорії оптимізації знаходиться конкуренція

Хороша схема, пакетні запити і пристойна стратегія індексування спільно працюють в інтересах бази дан-

разом використовують ресурс) і база даних налаштовується на використання розширених функцій масштабування, таких як поділ таблиць

Ми не будемо зупинятися на тому, що якщо у вас існують проблеми блокування транзакцій, то кращим рішенням буде насамперед вирішити проблеми схеми, запитів та індексації У цьому розділі ми поговоримо про те, як одні транзакції взаємодіють з іншими, як 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>

*

*