DB Optimzier XE для розробників Delphi і C + + Builder, Різне, Програмування, статті

Одна з попередніх публікацій була присвячена мультиплатформенні засобу адміністрування баз даних DBArtisan XE. Цей інструмент є класичним прикладом “все-в-одному” і “все-що-потрібно” для управління базами даних на різних платформах “з-одного-вікна”.


Але воістину животрепетної проблемою (або просто завданням) для розробників систем на основі СУБД є оптимізація продуктивності. При сучасних апаратних потужностях оптимізувати код клієнтського програми можна і потрібно, але таке завдання досить просто вирішується за рахунок а) правильного програмування б) залучення коштів профілювання та журналювання програмного коду, таких як AQTime і CodeSite у складі Delphi XE та C + + Builder XE.


Під “правильним програмуванням” мається на увазі виконання більш-менш продуманих запитів з точки зору обсягу повертаються наборів даних, а також обмеження числа відкритих запитів / збережених процедур. Слід також запускати “довгограючі” запити в окремому потоці і дотримуватися типові правила створення ергономічного інтерфейсу. Якщо прогнозована операція вимагає певного часу на виконання, то потрібно цю ситуацію передбачити і зробити правильне інтерфейсне оформлення:
1) пісочний годинник
2) анімований індикатор прогресу виконання
3) підтвердження на запуск
(Сортовані в міру збільшення часу очікування).


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


Представлений відео-огляд продукту DB Optimizer XE (14 хвилин) якраз і демонструє, як використовувати професійний засіб для підвищення продуктивності баз даних, включаючи ситуації, коли використовується кілька платформ баз даних одночасно.


Навантаження на базу даних нерівномірні, причому непередбачувано нерівномірні внаслідок значної масштабованості системи. Ось тут справді DB Optimizer XE надає неоціненну допомогу за рахунок можливості простий організації навантажувального тестування і подальшого візуального аналізу “кривої профілювання” і інтерактивного плану виконання. Крім того, автоматично генеруються більш продуктивні плани виконання як за рахунок впровадження підказок (hint injection), так і перефразирования проблемних SQL-запитів.


До речі, хотів розповісти цілком собі цікаву історію. Вона про розробників. Крім розробки доводиться ще й “наглядати” за чужими системами, впровадженими в компанію. Якось раз з’ясувалося, що система стала виносити мозок простим користувачам крайней неквапливістю, поважність і розгнузданістю. Самі розумієте – та ще задачка. Одна справа – свою базу даних аналізувати на предмет наявності відсутності, а інше – чужа. Геній російських програмістів переміг, а більшість збережених процедур були назавжди позбавлені від курсорів, а найбільш навантажені таблиці розжилися індексами. Покращена система дала прикурити попереднього варіанту в повний зріст: чи жарт – збільшення продуктивності на два порядки!


Але навіщо ж проявляти свій геній, талант і кмітливість в осоружному застірованіі чужої бази? DB Optimizer XE відразу дасть вам рейтинг знахабнілих SQL-запитів, покаже “ліві” індекси, запропонує хороші hint-и і т.д. Ось вже тут вчити DB Optimizer XE не треба: все, що людство вважає ефективним способом підвищення продуктивності баз даних, знайдеться без праці.


Скачайте trial-версію DB Optimizer XE і спробуйте. Одна з чотирьох основних платформ (Oracle, DB2, Sybase, SQL Server) обов’язково знайдеться у вашому розпорядженні

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


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

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

Ваш отзыв

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

*

*