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

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


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

http://www.sql-ex.ru

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

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

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

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

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


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

§ Начал подготовку новых задач. Будет использован вариант замены. Это коснется обоих сертификационных этапов. Есть и новый автор - snowbear.

§ Новый участник в сотне: VladTor (задач 95, время 90.290).

§ Закончили решать все задачи (не считая 138) snowbear (137, 3.446) и MadVet (137, 18.486). При этом snowbear остановился пока на четвертой позиции. Сейчас, чтобы попасть в десятку, нужно показать результат не хуже 16 дней. Дерзайте!

§ Приблизились к десятке:
mslava (132, 10.612). С возвращением!
Heromantor (128, 6.692)
Vezyr (116, 14.104)

§ Продолжили свое восхождение к вершине:
Julia_M (131, 51.435)
snikol (110, 45.574)

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

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

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

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

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

No surname n_sel sel_all sel_scores dml_scores scores rating last_visit
1 >Богдановский В.В. (Virgo) 59 59 106 32 138 250 24 Feb 2006
2 чигирь В.А. (vasja) 58 58 105 0 105 572 21 Feb 2006
3 >Есенбаев С.К. (cs) 54 54 95 9 104 608 24 Feb 2006
4 Скокова Е.В. (Kitty1) 53 58 100 0 100 584 21 Feb 2006
5 Lamaev V.M. (Heromantor) 27 128 66 0 66 34 23 Feb 2006
6 >Новоселов А.М. (ForeverYoung) 33 33 47 4 51 1525 24 Feb 2006
7 >Петухов А.В. (Sharp) 27 55 49 0 49 700 24 Feb 2006
8 Воронцов О.В. (Last_PreTender1) 26 52 46 1 47 782 22 Feb 2006
9 Канторов М.Е. (Kantic) 16 58 33 13 46 319 24 Feb 2006
10 lev T. (tomSQL) 23 23 35 9 44 1723 24 Feb 2006
11 >Коваленко О.Н. (Оля) 26 26 43 0 43 1743 24 Feb 2006
12 Gokavarapu (Srinivas.iiit) 25 25 41 0 41 1795 24 Feb 2006
13 Коренко (FanOfBeer) 8 57 22 16 38 410 22 Feb 2006
14 Тардаев В.В. (stud) 3 58 7 29 36 258 22 Feb 2006
15 Шевчук А. (Анюта) 19 44 32 3 35 995 22 Feb 2006
16 Флягин К.В. (mariner) 23 23 34 0 34 2135 20 Feb 2006
17 Балуева Е.А. (Katerissa) 8 58 20 13 33 272 24 Feb 2006
18 >Большев С.В. (Большев Семён) 23 23 28 3 31 2306 24 Feb 2006
19 >Большев С.В. (Большев) 23 23 28 3 31 2330 24 Feb 2006
20 >Хафизов П.З. (зфмуд1973) 6 59 15 15 30 251 24 Feb 2006
21 Tim N.V. (NickVTim) 14 38 24 6 30 1000 24 Feb 2006
22 Baranovsky (YarikB) 16 25 30 0 30 1856 22 Feb 2006
23 B S. (zerlging) 26 26 30 0 30 2356 21 Feb 2006

Изучаем SQL

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

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

Местоположение базы данных tempdb

Если ваша база данных tempdb используется очень интенсивно, рассмотрите возможность перемещения этой базы на собственный массив, либо RAID 1, либо RAID 10, чтобы увеличить производительность дискового ввода-вывода. Избегите использования массивов RAID 5, поскольку они могут быть медленными при операциях записи данных, что является обычным побочным эффектом использования tempdb. Если Вы не можете перенести tempdb на отдельный массив, и если Вы хотите избежать размещения ее на одном массиве с файлами базы данных, рассмотрите возможность расположения этой базы на одном диске с операционной системой. Это поможет уменьшить общую конкуренцию за ввод-вывод и повысить производительность.

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

Кроме того, значительная активность при работе с базой данных tempdb может ухудшить производительность вашего приложения. Это особенно справедливо для случая, когда Вы создаете одну или более временных таблиц, а затем соединяете их в запросе. Чтобы ускорить выполнение таких запросов, включите опцию AUTOSTATS для базы данных tempdb, а затем создайте один или более индексов на этих временных таблицах, которые могут быть использованы вашим запросом. Во многих случаях Вы обнаружите, что это позволит существенно ускорить работу вашего приложения. Однако, как и для большинства советов по производительности, следует проверить это утверждение на тестах, специфических для вашей ситуации.

Местоположение системных баз данных

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

Местоположение пользовательских баз данных

Для лучшей производительности файлы пользовательских баз данных (MDB) должны быть расположены на их собственном массиве (RAID 1, 5 или 10), не содержащем всех других файлов данных, включая файлы журналов. Если Вы имеете много больших баз данных на одном SQL Server, рассмотрите возможность размещения каждого отдельного файла (файлов) базы данных на его собственном массиве для уменьшения конкуренции за ввод-вывод.

Местоположение журналов

В идеальном случае каждый журнал должен постоянно находиться на собственном отдельном массиве (RAID 1 или 10, RAID 5 будет замедлять запись в журнал транзакций больше, чем Вам этого хотелось бы). Причиной этого является тот факт, что большую часть времени в журналы транзакций выполняется последовательная запись и, если массив может писать данные последовательно (без необходимости прерываться, чтобы выполнять другие операции чтения и записи), то эта последовательная запись будет очень быстрой. Однако если массив не может писать последовательно, поскольку он должен выполнять случайный доступ для других операций чтения и записи, то производительность падает.

Конечно, наличие отдельного массива для каждого журнала обходится недешево, и часто может не оправдать себя. Тогда, по крайней мере, разместите все файлы журналов на массиве (RAID 1 или RAID 10), который не используется для файлов базы данных. Хотя производительность последовательной записи не будет столь хороша, какой могла бы быть при размещении каждого журнала на отдельный массив, это все же намного лучше, чем конкуренция за дисковый ввод-вывод с файлами данных.

Число контроллеров диска на сервере

Единственный контроллер диска, является ли он SCSI или волокном (fibre), имеет предел максимальный пропускной способности. По этой причине Вам захочется, чтобы число контроллеров диска соответствовало пропускной способности, которую Вы ожидаете. Поскольку один контроллер отличается от другого, я не могу рекомендовать Вам конкретные решения, разве что сказать, что по минимуму Вы захотите иметь два контроллера диска. Один контроллер должен использоваться не для привода жесткого диска, например, CD-ROM, устройств резервного копирования и так далее. Другой контроллер использовался бы для жесткого диска. Цель состоит в том, чтобы не сажать медленные и быстрые устройства на один и тот же контроллер.

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

Тип контроллеров диска на сервере

Всегда покупайте самый быстрый контроллер дисков, который Вы можете себе позволить при условии, что Вы намереваетесь получить максимальную производительность SQL Server. Как вы, вероятно, знаете, различные контроллеры диска имеют различные характеристики производительности. Например, есть различные типы SCSI, а именно, Wide SCSI, Narrow SCSI, Ultra SCSI и так далее. То же самое можно сказать, хотя и в меньшей степени, о волоконных подключениях.

Из-за широкого разнообразия контроллеров, я не могу порекомендовать каких-либо конкретных вариантов. Как правило, независимый разработчик аппаратуры предложит несколько моделей на выбор. Спросите его о производительности каждого из них, и выберите тот, который обеспечивает лучшую пропускную способность.

Размер кэша в контроллерах диска на сервере

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

(Окончание следует...)

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

§ Все статьи, публикуемые в рассылке, будут выложены на сайте (кое-что уже выложено) Книги и статьи по SQL.

Контакты

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

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

В избранное