Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Новости сайта "Упражнения по SQL" (http://www.sql-ex.ru) 78


Новости сайта "Упражнения по SQL (http://www.sql-ex.ru)" Выпуск 78 (11 марта 2006 г.)

http://www.sql-ex.ru

Новым посетителям сайта

Сайт посвящен изучению языка, с помощью которого осуществляется взаимодействие с реляционными (и не только) СУБД. Суть обучения состоит в выполнении заданий на написание запросов к учебным базам данных; при этом система контролирует правильность выполнения заданий. В настоящее время реализованы все операторы подъязыка манипуляции данными (DML), которые включают в себя оператор извлечения данных SELECT, а также операторы модификации данных - INSERT, DELETE и UPDATE.

Мы надеемся, что справочного материала сайта окажется достаточно для самостоятельного обучения. Кроме того, свои решения вы можете обсудить на форуме сайта. Опытных же специалистов приглашаем проверить (продемонстрировать) свое мастерство и принять участие в соревновании, обеспечиваемом рейтинговой системой учета времени выполнения заданий. Фактически, рейтинг ведется на втором этапе тестирования, который начинается сейчас после решения 58-ти задач первого этапа. При подсчете рейтинга каждого участника отбрасывается один самый худший показатель среди всех решенных им упражнений.

Демонстрация плана выполнения запроса и сравнительная оценка эффективности решений поможет вам освоить принципы оптимизации запросов.

Имеется возможность получить сертификат по SQL DML при выполнении определенного количества заданий.


Новости сайта

§ Чтобы завершить дискуссию по поводу возможности появления дубликатов при решении задачи 16 (SELECT), добавил проверочные данные, предложенные VIG.

§ На следующей неделе выставлю несколько новых задач на замену. Как обычно, это изменит сертификационные требования.

§ Закончил решение всех имеющихся задач Gavrila и закрепился на третьей позиции в рейтинге (задач 138, время 16.199).

§ Вернулся в 10-ку Shark (задач 137, время 2.792).

§ На расстоянии одного шага от десятки остановился burakov58 (137, 13.143). Правда, этот шаг - 138 задача, которая не является легким испытанием.

§ Продолжили свое восхождение к вершине:
Vezyr (126, 18.295)
Weed (123, 78.090)
Ruchey (118, 38.492)
Kos123 (97, 5.318)
Eugeniе (97, 19.112)

§ Число подписчиков - 2956

Число участников рейтинга - 5075

Число участников второго этапа - 507

Сертифицировано на сайте - 54

Лучшие результаты (ТОР 20)

No Person Number of
Sel_ex
Last_Sel Number of
DML_ex
Scores Days Days_2 LastSolved LastVisit
1 Кувалкин К.С. (Cyrilus) 138 138 20 316 387 5.234 16 Dec 2005 10 Mar 2006
2 Kamaev V.M. (Heromantor) 138 138 20 316 117 8.842 03 Mar 2006 10 Mar 2006
3 Тарасов Д.Б. (Gavrila) 138 138 20 316 190 16.199 04 Mar 2006 10 Mar 2006
4 Голубин Р.С. (Roman S. Golubin) 138 138 20 316 191 20.267 25 Feb 2006 10 Mar 2006
5 Валуев Д.И. (Fiolent) 138 138 20 316 909 47.662 01 Mar 2006 10 Mar 2006
6 Войнов П.Е. (pаparome) 137 137 20 312 117 1.745 19 Dec 2005 10 Mar 2006
7 Духин А. (Shark) 137 96 20 312 238 2.792 06 Mar 2006 10 Mar 2006
8 Зверев Д.Л. (dimzv) 137 96 20 312 819 3.135 31 Jan 2006 31 Jan 2006
9 Юлдашев М.Р. (Snowbear) 137 137 20 312 217 3.446 20 Feb 2006 10 Mar 2006
10 Абашин П.И. (Dizil) 137 137 20 312 117 3.689 19 Dec 2005 09 Mar 2006
11 Самохвалов В. (ValdemarES) 137 137 20 312 40 7.530 27 Dec 2005 10 Mar 2006
12 Бураков С.Г. (burakov58) 137 96 20 312 400 13.143 05 Mar 2006 08 Mar 2006
13 Крижевич С.А. (yaff) 137 137 20 312 176 14.676 23 Dec 2005 06 Mar 2006
14 Иванов А.Н. (Goapsy) 137 137 20 312 60 15.958 09 Jan 2006 10 Mar 2006
15 Держальцев В.А. (MadVet) 137 137 20 312 311 18.486 21 Feb 2006 26 Feb 2006
16 Страшников А.С. (EffEct) 137 137 20 312 226 58.048 27 Dec 2005 10 Mar 2006
17 Галиаскаров Э.Г. (Galogen) 137 137 20 312 392 72.253 19 Dec 2005 26 Feb 2006
18 Мельникова И.А. (Iris_m) 137 137 20 312 622 96.852 24 Jan 2006 10 Feb 2006
19 Носков Н.В. (niko2) 136 72 20 310 224 8.286 15 Feb 2006 15 Feb 2006
20 Леденев С.А. (Shurgenz) 136 137 20 310 497 11.597 28 Dec 2005 10 Mar 2006

Лучшие результаты за неделю

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1 >Лещина С.Г. (putnik) 58 58 105 9 114 469 10 Mar 2006
2 >Бугаков Ю.В. (Yurasic) 50 50 85 0 85 864 10 Mar 2006
3 >Островский Е. (ЕО) 36 36 63 17 80 936 10 Mar 2006
4 >Туренко Ю.Л. (nebiros) 46 46 77 3 80 941 10 Mar 2006
5 Демьяненко (Tracker) 47 47 76 0 76 1003 06 Mar 2006
6 >Подымов П. (Petr) 34 34 59 17 76 1004 10 Mar 2006
7 Тихомиров Е.В. (Tihomirov) 30 55 57 17 74 462 10 Mar 2006
8 >Eloev O.K. (OlegE) 22 59 39 32 71 255 10 Mar 2006
9 >Дутов С.Е. (ds) 28 58 50 19 69 402 10 Mar 2006
10 >Saveliev (MaximS) 34 49 66 3 69 850 10 Mar 2006
11 >Крисской А.Н. (night wolf) 22 57 53 8 61 438 10 Mar 2006
12 Красильников С.М. (S. Le Roux) 41 41 58 0 58 1407 09 Mar 2006
13 >Filonenko A.M. (Andrey_f) 40 40 56 0 56 1451 10 Mar 2006
14 vb V.V. (Vanea) 25 41 51 0 51 1123 07 Mar 2006
15 ml M.M. (mlmlml) 28 28 49 0 49 1623 06 Mar 2006
16 >Попова Н.А. (espoir) 11 50 28 20 48 585 10 Mar 2006
17 Ларин А.С. (The Mage) 27 27 46 0 46 1712 05 Mar 2006
18 >Michalski M.L. (mmarsik) 27 27 46 0 46 1719 10 Mar 2006
19 >Шимшит Е.Г. (Rokfy) 27 27 46 0 46 1720 10 Mar 2006
20 >Лейбук И.П. (Лейбук Илья) 26 26 38 3 41 1854 10 Mar 2006
21 >Kavlakov (You) 25 25 40 1 41 1857 10 Mar 2006
22 >Bukin (Vlad) 18 58 33 7 40 475 10 Mar 2006
23 Klim L. (Lukas Klim) 25 25 40 0 40 1916 09 Mar 2006

Изучаем SQL

Отображение планов выполнения

Randy Dyess (оригинал: Displaying Execution Plans )
Перевод Калинкин В.Ю.

Планы выполнения: основы

Я всегда считал, что самым легким методом настройки хранимой процедуры (ХП) является простое изучение ее плана выполнения. План выполнения - это по существу карта, которая графически или в виде текста показывает методы извлечения данных, выбранные оптимизатором запросов SQL Server для хранимой процедуры или отдельного запроса. Это является очень полезным инструментом для разработчика, позволяющим понять характеристики производительности запроса или ХП, т.к. план - это то, что SQL Server поместит в свой кэш и будет использовать для выполнения этой ХП или запроса. Большинство разработчиков смогут достичь уровня, когда им будет достаточно просто взглянуть на план выполнения, чтобы решить, какой этап вызывает проблемы с производительностью.

Планы выполнения могут быть представлены либо графически, либо в текстовом формате в зависимости от метода получения плана выполнения. Query Analyzer и небольшая группа средств от сторонних разработчиков (лично я использую mssqlXpress, доступный на www.xpressapps.com) имеют возможность превращать текстовый план в легко читаемый набор пиктограмм. Дальше остается только понять смысл разных пиктограмм и узнать, как детализировать пиктограмму, чтобы получить развернутые сведения.

Если Вы не используете Query Analyzer или имеете средство от сторонних разработчиков, то можете использовать Transact-SQL для отображения плана выполнения в текстовом виде. Transact-SQL предоставляет несколько команд для отображения планов выполнения: SET STATISTICS PROFILE, SET STATISTICS IO, SET STATISTICS TIME, SET SHOWPLAN_ALL и SET SHOWPLAN_TEXT. Вы можете использовать одну или все из этих команд, чтобы отображать план выполнения в текстовом виде с различными уровнями детализации информации плана.

Графические планы выполнения

Большинство разработчиков предпочитают графические планы выполнения, отображаемые в Query Analyzer или в средствах сторонних разработчиков т.к. они позволяют определить основные проблемы с производительностью запроса с одного взгляда. Хотя вид графического плана выполнения зависит от используемого приложения, большинство пиктограмм, используемых там очень похожи по смыслу и внешнему виду. Несколько примеров ниже покажут вам, получить графические планы выполнения при помощи Query Analyzer. Если вы используете средство сторонних разработчиков в своей работе, пожалуйста, посмотрите в справочнике к данному средству раздел про планы выполнения, чтобы узнать, как отобразить план графически.

Графические планы выполнения в Query Analyzer

Когда вы загрузили свой запрос или написали вызов ХП в окне редактора, нажмите "Query" на панели инструментов и затем выберите "Show Execution Plan". Выполните запрос и после его завершения выберите закладку "Execution Plan" чтобы увидеть графический план выполнения.

Прочитать всю статью

Полезная информация

§ Все статьи, публикуемые в рассылке, затем выкладываются на сайте Книги и статьи по SQL.

Контакты

По всем вопросам, связанным с функционированием сайта, проблемами при решении упражнений, идеями вы можете обращаться к Сергею И.Моисеенко msi77@yandex.ru. Вы также можете предложить свои задачи для публикации на сайте.

Подписка Subscribe.Ru
Новости сайта "Упражнения по SQL"

В избранное