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

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


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

http://www.sql-ex.ru

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

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

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

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

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


Прекрасных посетительниц сайта и читательниц рассылки поздравляем с праздником 8 Марта!
Без вас любая работа потеряла бы всякий смысл.

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

§ 138 задача сдалась. После Roman S. Golubin ее решили Fiolent и Heromantor. Последнему пока принадлежит рекорд времени решения - 3,5 суток. Следует отметить, что все победители проявили самокритику, отметив недостаточность проверочных данных, что позволило им построить принятые системой решения, которые не удовлетворяли всем условиям задачи. Более того, ими были предложены варианты данных, необходимых для блокировки собственных решений.
Одно добавление данных, которые предложил автор задачи, уже сделано. Кстати, это не помешало Heromantor установить рекорд. Новое добавление не за горами. Как говорится, торопитесь, т.к. завтра может оказаться дороже :-).

§ Десятка меняется на глазах. Пока еще можно попасть в нее, не решая 138 задачу, однако, для этого уже потребуется показать результат лучше 11 дней.

§ Вернулся в 20-ку burakov58 (задач 136, время 12.387).

§ Новые люди в сотне:
Kos123 (96, 5.271),
Eugeniе (95, 15.760),
Антон (95, 27.274)

§ Продолжили свое восхождение к вершине:
Julia_M (136, 56.090)
ВОВАН (135, 29.381)
Vezyr (121, 17.491)
shaman (106, 428.834)
Zhekaus (102, 152.535)
Lady (102, 15.902)

§ Улучшил качество своего сертификата Vezyr (B06008123) [AR] (Россия, г.Тамбов)

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

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

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

Сертифицировано на сайте - 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 03 Mar 2006
2 Kamaev V.M. (Heromantor) 138 138 20 316 117 8.842 03 Mar 2006 03 Mar 2006
3 Голубин Р.С. (Roman S. Golubin) 138 138 20 316 191 20.267 25 Feb 2006 03 Mar 2006
4 Валуев Д.И. (Fiolent) 138 138 20 316 909 47.662 01 Mar 2006 03 Mar 2006
5 Войнов П.Е. (pаparome) 137 137 20 312 117 1.745 19 Dec 2005 03 Mar 2006
6 Зверев Д.Л. (dimzv) 137 96 20 312 819 3.135 31 Jan 2006 31 Jan 2006
7 Юлдашев М.Р. (Snowbear) 137 137 20 312 217 3.446 20 Feb 2006 03 Mar 2006
8 Абашин П.И. (Dizil) 137 137 20 312 117 3.689 19 Dec 2005 03 Mar 2006
9 Самохвалов В. (ValdemarES) 137 137 20 312 40 7.530 27 Dec 2005 03 Mar 2006
10 Тарасов Д.Б. (Gavrila) 137 137 20 312 109 10.968 13 Dec 2005 03 Mar 2006
11 Крижевич С.А. (yaff) 137 137 20 312 176 14.676 23 Dec 2005 23 Feb 2006
12 Иванов А.Н. (Goapsy) 137 137 20 312 60 15.958 09 Jan 2006 03 Mar 2006
13 Держальцев В.А. (MadVet) 137 137 20 312 311 18.486 21 Feb 2006 26 Feb 2006
14 Страшников А.С. (EffEct) 137 137 20 312 226 58.048 27 Dec 2005 03 Mar 2006
15 Галиаскаров Э.Г. (Galogen) 137 137 20 312 392 72.253 19 Dec 2005 26 Feb 2006
16 Мельникова И.А. (Iris_m) 137 137 20 312 622 96.852 24 Jan 2006 10 Feb 2006
17 Духин А. (Shark) 136 137 20 310 148 2.746 06 Dec 2005 26 Feb 2006
18 Носков Н.В. (niko2) 136 72 20 310 224 8.286 15 Feb 2006 15 Feb 2006
19 Леденев С.А. (Shurgenz) 136 137 20 310 497 11.597 28 Dec 2005 03 Mar 2006
20 Бураков С.Г. (burakov58) 136 72 20 310 392 12.387 25 Feb 2006 25 Feb 2006

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

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1 Slobodcicov A.N. (Testo) 59 59 106 32 138 253 03 Mar 2006
2 Калугина Т.С. (Takana2004) 50 58 96 32 128 276 03 Mar 2006
3 Сербин А.С. (Gau) 59 59 106 0 106 570 03 Mar 2006
4 Новоселов А.М. (ForeverYoung) 26 59 59 23 82 323 27 Feb 2006
5 Домжонок А.П. (Domjik) 49 49 82 0 82 885 03 Mar 2006
6 Пузенькин А.И. (Fencer) 35 50 69 9 78 741 03 Mar 2006
7 sankaran S. (sur) 43 43 68 9 77 961 02 Mar 2006
8 Базаров В.А. (vlabaz) 42 42 72 0 72 1061 03 Mar 2006
9 Beldeninov (AndyBell) 40 40 70 0 70 1098 02 Mar 2006
10 G O.A. (Oleg_82) 40 40 69 1 70 1100 03 Mar 2006
11 Татаринов А.П. (R00T) 42 42 67 0 67 1146 03 Mar 2006
12 Eloev O.K. (OlegE) 37 37 67 0 67 1147 03 Mar 2006
13 Лещев С.А. (BMSerg) 34 34 58 3 61 1293 28 Feb 2006
14 Гагарышев А. (AlexeyG) 34 34 49 9 58 1381 03 Mar 2006
15 Дутов С.Е. (ds) 30 30 55 0 55 1449 03 Mar 2006
16 Shogun (Shogun) 33 33 45 9 54 1479 03 Mar 2006
17 Федорова Н.В. (Humm) 29 29 52 0 52 1507 02 Mar 2006
18 Ivanov (xep) 29 29 52 0 52 1521 03 Mar 2006
19 Кульбида А.В. (yozh) 30 30 41 3 44 1747 03 Mar 2006
20 богачев А. (narg) 26 26 43 0 43 1765 26 Feb 2006
21 Денис О.Б. (PeGas) 25 40 41 1 42 1357 03 Mar 2006
22 Барбарина Н. (Барбарина) 27 27 39 3 42 1794 01 Mar 2006
23 Самусенко Л.А. (K v P) 24 24 37 5 42 1799 01 Mar 2006
24 Тихомиров Е.В. (Tihomirov) 25 25 41 0 41 1825 03 Mar 2006
25 Марушкин А.В. (eagleM) 30 30 38 3 41 1831 03 Mar 2006
26 Re (Trux) 25 25 40 0 40 1875 02 Mar 2006

Изучаем SQL

Контрольный список вопросов оценки производительности аппаратных средств SQL Server (окончание, начало в вып. 72-76)

Brad M. McGehee (оригинал: SQL Server Hardware Performance Checklist )
Перевод Моисеенко С.И.

Включен ли на контроллере диска кэш обратной записи?

Буфер системы ввода-вывода на вашем контроллере диска предлагает два способа скоростного доступа. Один - для чтений, а другой - для записи. Из них наиболее важен доступ для чтения, поскольку на этом тратится большая часть времени дискового ввода-вывода для большинства баз данных SQL Server. Обратный кэш записи, с другой стороны, используется, чтобы ускорить операции записи, которые обычно происходят, как правило, менее часто. К сожалению, SQL Server, в большинстве случаев предполагает, что обратный кэш записи не включен, и из-за этого кэширование обратной записи следует выключить на большинстве контроллеров. Если Вы этого не сделаете, то при определенных обстоятельствах возможна потеря данных после того, как SQL Server их запишет (раз данные записаны, то предполагается, что они записаны правильно), но по некоторым причинам (например, отсутствия питания), обратный кэш записи не запишет данные на диск.

Хотя существуют контроллеры, которые имеют батареи резервного питания для предотвращения подобных проблем, они не всегда работают так, как ожидается. Лично, я предпочитаю неповрежденные данные (записанные более медленно), чем поврежденные данные (который были записаны намного быстрее). Другими словами, я рекомендую выключать кэширование обратной записи на вашем контроллере дисков даже несмотря на то, что Вы немного потеряете в производительности.

Скорость дисководов

Дисководы, которые входят в ваши массивы, могут часто иметь различные скорости. Как и следует ожидать, для лучшей производительности, лучше всегда покупать самые быстрые диски. Обычно они имеют 15 000 оборотов в минуту и выше. Кроме того, не следует смешивать диски с различными скоростями в одном массиве. Производительность пострадает, если вы сделаете это.

Сколько сетевых карт находится на вашем сервере?

К счастью, исходящий и входящий сетевой трафик SQL Server обычно не является критическим параметром, и единственной сетевой карты часто бывает более чем достаточно. Но если Вы обнаруживаете, что сетевой трафик является проблемой (у Вас сотни или тысячи пользователей), тогда переход на многочисленные сетевые карты оправдан и может увеличить производительность. Кроме того, две или более сетевых карт могут добавить избыточности, способствуя уменьшению времени простоя.

Какова скорость сетевых карт на сервере?

По минимуму, ваш сервер должен иметь 100Mbs сетевые карты. Карты на десять мегабит не обеспечат вас необходимой пропускной способностью. Если одна или более 100MBs карт не дают достаточной пропускной способности, то рассмотрите вопрос приобретения гигабитных карт. В этом случаи Вы могли бы вообще отказаться от использования 100MBs карт и использовать вместо них только гигабитные карты. Использование более быстрой сетевой карты не ускоряет сетевой трафик, это лишь позволяет пропускать трафик большего объема, что, в свою очередь, позволяет вашему серверу работать с оптимальной производительностью.

Являются ли сетевые карты жестко закодированы на скорость/дуплекс?

Если Вы имеете двойную 10/100 или 10/100/1000 карту на SQL Server, который должен автоматически определять скорость сети и устанавливать соответствующие настройки, не следует доверять тому, что это будет работать правильно. Довольно обычным для сетевой карты является то, что автоопределение работает неправильно, устанавливая скорость меньше оптимальной или дуплексную установку, которая может значительно понизить производительность сети. То, что Вы должны сделать, это вручную установить скорость платы и дуплексную установку. В этом случае Вы будете знать наверняка, что все будет работать правильно.

Сетевые карты оснащены переключателем?

Это должно быть очевидным в большом центре данных, но для небольших организаций, концентратор все еще может использоваться для подключения к серверу. Если это так, серьезно отнеситесь к замене концентратора на соответствующим переключатель, и конфигурируйте его для соединения с максимально возможной производительностью, например, 100MBs и полный дуплекс. Переход от концентратора на переключатель может серьезно изменить производительность сети.

Обновлены ли драйверы аппаратных средств до последних версий?

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

Вы регулярно должны проверять появление более свежих драйверов для ваших аппаратных средств, и устанавливать при первом случае простоя. Я лично наблюдал радикальные изменения производительности при замене старого содержащего ошибки драйвера на новый, в котором эти ошибки были устранены.

Специализирован ли физический сервер под SQL Server?

Я уже упоминал это прежде, и не могу повторять это слишком часто. SQL Server должен исполняться на специализированном физическом сервере, не деля его с другим прикладным программным обеспечением. Когда Вы совместно используете SQL Server с другим программным обеспечением, Вы вынуждаете SQL Server бороться за физические ресурсы, в результате чего Вам будет более трудно настроить ваш сервер на оптимальную производительность. Снова и снова, когда я получаю вопросы о низкой производительности SQL Server, я выясняю, что ответственным за это является другое приложение, выполняющееся на том же самом сервере. Вам следует только научиться говорить НЕТ.

Что теперь?

Мы много уже прошли, но нам много еще остается. Когда я первоначально оцениваю производительность SQL Server и выполняю аудит производительности, я делаю подробные заметки обо всех моментах, обсуждаемых выше. Затем я выполняю сравнение конфигурирования сервера с идеальной конфигурацией, а потом ищу простые способы приближения к этой идеальной конфигурации. Иногда это просто (очевидно, что легко исправлять сделанные ошибки), а иногда не так много можно и сделать. Но Вы не будете этого знать, если не выполните аудит.

Ваша цель должна состоять в том, чтобы выполнить часть аудита производительности, описанную на этой странице, для каждого из ваших SQL Server, и затем использовать эту информацию, чтобы сделать возможные исправления. Если Вы не можете сделать исправления, то следует использовать эту информацию как боеприпасы для того, чтобы получить новые и лучшие аппаратные средства.

Как только Вы закончили эту часть аудита производительности, то готовы уже провести ревизию операционной системы с целью возможного улучшения производительности.

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

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

Контакты

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

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

В избранное