Как проверить колонку на работоспособность: Как проверить колонки на компьютере: все варианты?

Как проверить колонки на компьютере: все варианты?

Опубликовано 9.06.2019 автор Андрей Андреев — 0 комментариев

Всем привет! Сегодня вы узнаете, как проверить колонки на компьютере на работоспособность: работают ли они вообще, в чем может быть причина, если пропал звук, а также что делать если Винда девственно чиста и звуков никогда не издавала.

Проверка работоспособности колонок

Акустическая система «из коробки», собранная правильно, должна воспроизводить звук из любого внешнего источника. Оптимальный способ проверки работоспособности – подключить по очереди два или больше девайсов.

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

Если колонки включены и все провода подключены правильно, но звука нет ни из одного источника – дело в акустической системе. Пакуем их обратно, несем в магазин, долго ругаемся с продавцом, выполняем обмен или возврат.Как проверить колонку на работоспособность: Как проверить колонки на компьютере: все варианты? Шутка конечно, лучше всего вежливо, и результат будет и нервы целей останутся.)

Если звука нет только на ПК, то дело, скорее всего, в неправильной настройке Виндовс. Детально об этом рассказано в публикации «Настраиваем колонки на ПК в Windows 10». Также в моем блоге вы можете найти аналогичную статью, посвященную операционной системе Windows 7.

Проверка на правильность подключения

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

Напоминаю тем, кто забыл: акустическая система всегда подключается к зеленому слоту на компьютере или гнезду, маркированному изображением динамика, на ноутбуке.

Если же у вас навороченная стереосистема со множеством сателлитов и сабвуферов, гнезда маркируются такими цветами:

  • Оранжевый – центральный монитор или сабвуфер;
  • Черный – тыловые динамики;
  • Серый – боковые сателлиты;
  • Зеленый – фронтальные сателлиты.Как проверить колонку на работоспособность: Как проверить колонки на компьютере: все варианты?

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

Также напоминаю, что разъемный кабель RCA к акустической системе всегда следует подключать соответственно цвету гнезда и штекера: красное к красному, белое к белому.

Непонятно как играет

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

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

В открывшемся окне нажмите кнопку-проверка.Как проверить колонку на работоспособность: Как проверить колонки на компьютере: все варианты?

Вы услышите тестовое пиликанье – сначала в левом, затем в правом динамике. Если один из них не работает, это сразу будет заметно. Также заметен будет «перекос» баланса, если он выставлен некорректно.

Чтобы отрегулировать баланс, кликните в диалоговом окне «звук» по используемым колонкам и нажмите кнопку «Свойства» в правом нижнем углу. В открывшемся окне перейдите во вкладку «Уровни» и нажмите кнопку «Баланс» Напротив самого верхнего пункта.

Откроется еще одно небольшое окно, в котором параметры громкости каждого канала указаны в процентном соотношении.

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

И на всякий случай, также советую почитать публикацию «Звуковые колонки – что это: как они работают и их функции».

Проверка онлайн

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

С его помощью можно проверить акустическую систему на диапазон воспроизводимых частот – от 20 до 20 000 Гц. Конечно, звук подвергнут компрессии, как у любого Ютубовского видео, но мы же не музыкой наслаждаемся, а колонку проверяем, верно?

Обратите внимание: если какой то звук вы не слышите, это не значит, что он не воспроизводится динамиком.

Может быть и так, что в силу особенностей ваше ухо его попросту не воспринимает. Оптимальный вариант – прослушивание как минимум вдвоем.

Проверка полярности колонок. Слово «Фаза» должно звучать по центру, а «Противофаза» из каждой колонки по отдельности.Как проверить колонку на работоспособность: Как проверить колонки на компьютере: все варианты? Если у вас все наоборот, поменяйте на одной из колонок местами красный и черный провода.

И «на закуску» – проверка левого и правого каналов. Хотя диктор и говорит по-английски, там все понятно, я думаю.

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

Публикацию о схеме компьютерных колонок можно найти здесь. Буду признателен всем, кто поделится этим постом в социальных сетях. До завтра!

С уважением, автор Андрей Андреев.

Как проверить колонки на работоспособность мультиметром

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

Что такое динамик

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

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

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

Для начала необходимо провести визуальный осмотр устройства, а именно, проверить на наличие повреждений:

  • корпуса;
  • шнура электропитания;
  • шнура сигнала;
  • гофры;
  • диффузора.Как проверить колонку на работоспособность: Как проверить колонки на компьютере: все варианты?

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

Проверка динамика мультиметром

Для проверки контактов необходимо провести измерение сопротивления, установив мультиметр в режим определения данной характеристики.

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

В случае если перевернуть динамик и покрутить его, слышны посторонние звуки (например, постукивание), то, скорее всего от гильзы, в которой расположена катушка, отпало несколько витков или вся обмотка.Как проверить колонку на работоспособность: Как проверить колонки на компьютере: все варианты? Это можно исправить, заново намотав обмотку.

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

Если механические дефекты все же обнаружены, катушку следует заменить. Неправильную обмотку (неровную или с нахлестом) можно самостоятельно, аккуратно перемотать.

Для проверки правильности перемотки катушки достаточно несколько раз прослушать две-три хорошо знакомых песен. Во время прослушивания нужно акцентировать внимание на громкости (как минимальной, так и максимальной), качестве звука (отсутствие посторонних шумов) и переходах звука.

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

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

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

Для этого необходимо мультиметр включить в режим замера сопротивления и померить данную характеристику динамика. Для полифонических динамиков сопротивление в среднем составляет 8 Ом, а для слуховых – порядка 30 Ом.

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

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

Если на дисплее мультиметра показано значение больше 0, то звуковая катушка целая, а если это значение равно 1 то в катушке произошел обрыв и в этом случае ее необходимо заменить.

После проверки электроники стоит проверить качество сборки диффузора и гофра. Для этого динамиком необходимо воспроизвести инфранизкие частоты. Это позволит обнаружить некачественную склейку гофра и диффузора.

В последнюю очередь стоит проверить качество работы динамика при помощи генератора частот. Данная проверка динамиков должна выполняться в диапазоне от 20 Гц до 20 кГц. Отсутствие хрипов и искажений будет означать, что динамик работает исправно и качественно.

Данные методы помогут решить задачу такую как проверка динамика мультиметром.

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

Что такое динамик

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

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

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

Для начала необходимо провести визуальный осмотр устройства, а именно, проверить на наличие повреждений:

  • корпуса;
  • шнура электропитания;
  • шнура сигнала;
  • гофры;
  • диффузора.

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

Проверка динамика мультиметром

Для проверки контактов необходимо провести измерение сопротивления, установив мультиметр в режим определения данной характеристики.

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

В случае если перевернуть динамик и покрутить его, слышны посторонние звуки (например, постукивание), то, скорее всего от гильзы, в которой расположена катушка, отпало несколько витков или вся обмотка. Это можно исправить, заново намотав обмотку.

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

Если механические дефекты все же обнаружены, катушку следует заменить. Неправильную обмотку (неровную или с нахлестом) можно самостоятельно, аккуратно перемотать.

Для проверки правильности перемотки катушки достаточно несколько раз прослушать две-три хорошо знакомых песен. Во время прослушивания нужно акцентировать внимание на громкости (как минимальной, так и максимальной), качестве звука (отсутствие посторонних шумов) и переходах звука.

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

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

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

Для этого необходимо мультиметр включить в режим замера сопротивления и померить данную характеристику динамика. Для полифонических динамиков сопротивление в среднем составляет 8 Ом, а для слуховых – порядка 30 Ом.

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

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

Если на дисплее мультиметра показано значение больше 0, то звуковая катушка целая, а если это значение равно 1 то в катушке произошел обрыв и в этом случае ее необходимо заменить.

После проверки электроники стоит проверить качество сборки диффузора и гофра. Для этого динамиком необходимо воспроизвести инфранизкие частоты. Это позволит обнаружить некачественную склейку гофра и диффузора.

В последнюю очередь стоит проверить качество работы динамика при помощи генератора частот. Данная проверка динамиков должна выполняться в диапазоне от 20 Гц до 20 кГц. Отсутствие хрипов и искажений будет означать, что динамик работает исправно и качественно.

Данные методы помогут решить задачу такую как проверка динамика мультиметром.

Этот вопрос становится особо актуальным после праздников и вечеринок – когда децибел не жалеют, а соседи обивают последнюю краску с батарей в безрезультатных попытках достучаться до меломанов

Так как же проверить свою акустику и правильно выбрать хороший динамик взамен павшего в застольных боях и не нарваться на залежалый товар «с гнильцой»? – об этом пойдёт речь ниже.
Учитывая, что производство советских динамиков кануло в лету вместе с советской страной и в основном приходится приобретать не новые, а б/у динамики, вопрос их проверки стоит как никогда остро.

Для того, чтобы не выбрасывать деньги на ветер, колеся по заснеженным, пост праздничным улицам, расскажу о нескольких простых и надёжных способах проверки.

Основное правило при покупке у случайного продавца ( который не занимается продажей акустики на постоянной основе) следующее – проверять обязательно!
Покупка без проверки – это чистая рулетка.
И далеко не всегда у продавца есть злой умысел!

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

К примеру при продаже колонок и динамиков, я провожу следующее тестирование:

  • проверка на измерительном тестере
  • проверка синусоидальным сигналом
  • проверка на музыкальных фонограммах

Теперь разберём каждый пункт по порядку:

Тестер (подойдёт обычный китайский мультиметр за 350-400 руб) есть не у каждого, поэтому этот метод актуален не для всех, но всё же, не заходя далеко в дебри электротехники, отмечу следующее:

1. Замеряем сопротивление динамика
Оно должно быть в пределах + – 20% от указанной на динамике.
К примеру сопротивление у 16 Омных ВЧ динамиков 10гдв-2 обычно составляет 12-13 Ом;
у 8 Омных 35гдн – 6.5-8 и так далее.

Если сопротивление слишком маленькое или слишком большое – в катушке короткое замыкание или она подгорела от перегрузки.

2. Если во время измерения пошевелить подводящие проводки( с обратной стороны купола), то сопротивление должно оставаться неизменным.
Если же оно прыгает – значит подводящие изношены и надломлены.

Во время такой проверки важно, чтобы купол динамика был неподвижен, иначе во время смощения купола сопротивление так же будет меняться.

3. Проверка синусоидальным сигналом.
Для этого потребуется сам источник сигнала и усилитель.
НЧ и СЧ динамики проверяются синусоидальным сигналом в 15 Герц.

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

Ссылка на МР3 файл с таким сигналом есть в конце этой статьи
Скиньте их на флешку и возьмите с собой, когда поедете покупать динамик.
Но тут вам конечно не обойтись без усилителя – надо будет взять что то своё либо попросить продавца проверить динамики этими сигналами.

Если такой возможности не представится, то я бы не рекомендовал делать покупку.

4. Проверка музыкальными фонограммами.
Здесь вам понадобится любое, хорошо знакомое вам музыкальное произведение.
Основное условие – в нем должны быть хорошо и четко представлены различные звуковые частоты.

Я использую для этих целей композицию Biz – Mirage (также прикрепил)
Там есть и шикарные басы и высокочастотное «циканье» и нежный женский вокал.
Все эти звучи динамик должен воспроизводить без каких либо искажения, хрипов, шуршаний и «песка»

А если вы берёте сразу пару динамиков, то убедитесь в одинаковости звучания.

Ну и в завершениии прикрепляю файл записанный с винила – от Бердского радиозавода для настройки акустических стереосистем – там всё просто и понятно.

Поможет правильно расставить и подключить вашу акустику для достижения максимального стереоэффекта.

Если для Вас данная статья оказалась полезной – поделитесь ей с друзьями, чтобы впечатления от приобретения акустики были только положительные!

Всем спасибо за внимание и удачных покупок!
Звуковые файлы,упомянутые в данной статье, можно скачать из нашей группы в контакте:
Файлы здесь, в конце статьи

👆Как проверить колонки перед покупкой? | Колонки | Блог

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

Можно ли оценить звук в торговом зале?

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

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

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

Чек-лист для быстрой проверки

Исправность. При внешнем осмотре на предмет механических повреждений стоит проверить:

  • Все потенциометры (ручки громкости, тембра, эквалайзер и т. п.). Они должны крутиться легко и плавно, а главное — не трещать и не скрипеть при проигрывании музыки.
  • Все коннекторы и разъемы: пошевелить провода возле них, чтобы проверить качество контакта — не должно быть скрипов и шуршаний.
  • Работоспособность каждого динамика при проигрывании музыки или тестового сигнала (особенно актуально для систем 5.1 и выше).
  • Целостность твитеров и вуферов. Если есть возможность, стоит снять лицевую защитную панель и проверить, не помяты ли диффузоры.
  • Надежность конструкции. Нет ли скрипов, плохих склеек, плохо закрепленных панелей и прочего, что может издавать призвуки при воспроизведении музыки.
  • Гудение, шипение, свист, помехи или радио на включенных, но не воспроизводящих музыку колонках — явно недобрый знак.

Усилитель. Обычно бытовая акустика является активной, то есть в нее встроен усилитель. Нужно проверить, хватает ли его мощности, чтобы прокормить электричеством динамики на высоких уровнях громкости. Для этого следует:

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

Фаза. При правильной фазировке мембраны динамиков левого и правого каналов синхронно двигаются вперед и назад. Благодаря этому расположенный в центре вокал будет ощущаться именно в центре. Если есть проблемы с фазировкой, он будет слева, справа или по бокам из-за того, что диффузоры двигаются в разные стороны. Обычно это возникает из-за неправильного подключения проводов к одной из колонок. Но иногда на производстве путают полярность подключения одного из динамиков, и тогда будут проблемы с фазой в соответствующем диапазоне частот.

Призвуки. Оценить наличие посторонних призвуков и скрипов из-за плохо закрепленного динамика с помощью музыки трудно: в ней слишком много разных звуков и инструментов. Для такого используют свип-тон — это синусоидальный сигнал от 20 Гц до 20 кГц. Если на определенной частоте появляются какие-либо призвуки — это плохой признак. Но для начала стоит поискать статический синус с этой частотой и проверить его на колонках, чтобы определить, они ли издают ненужный звук или это дрожит дверца тумбы под ними.

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

Оценка качества звучания

Здесь начинается территория субъективности. Не существует однозначных критериев и стандартизированных оценок, по которым можно было бы поставить тем или иным колонкам 10 из 10. Все описывается словами «лучше» или «хуже», а также едва понятными определениями вроде «размытый», «грязный», «мясистый» и «картонный». Систематизировать и привести все это к единому знаменателю до сих пор никому не удалось, поэтому главным критерием по сей день остается параметр «нравится/не нравится».

На чем проверять звук?

Есть несколько подходов к этой задаче:

  • Тестовые сигналы: розовый шум, синусоиды определенных частот и свипы по всем частотам.
  • Музыка разных жанров в высоком качестве (рекомендуется 96 кгц/24 бит, чтобы оценить динамику и детализацию).
  • Подборки на профильных сайтах и тестовые диски типа «Аудиодоктор FSQ» от Акустического центра МТУСИ, сочетающие в себе и тестовые сигналы, и фрагменты музыки. Удобны тем, что треки заранее отобраны специалистами и сопровождаются руководством по использованию.

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

Амплитудно-частотная характеристика

АЧХ отвечает за то, насколько точно акустика воспроизводит музыкальное произведение относительно его истинного звучания. Акустика с максимально ровной АЧХ называется референсной и используется в студиях звукозаписи. Однако не всем по душе стерильное звучание студийных мониторов: многие находят его слишком плоским, бесхарактерным и скучным. Бытовая акустика, напротив, специально наделяется неровной АЧХ, например, с подчеркнутыми низкими или высокими частотами.

АЧХ Microlab Solo 9C с заметными подъемами до 6 Дб на низких и высоких частотах

Здесь все зависит от музыкальных предпочтений, но главное, чтобы на АЧХ не было сильно выраженных пиков или провалов (более 8-10 Дб). К примеру, сильный горб в низкочастотном диапазоне заставит колонки гудеть от баса, а провал в районе 3-5 кГц не позволит насладиться хорошо записанным вокалом, яркость которого обычно лежит именно в этой области. Особенно часто такое встречается на многополосной акустике. Каждый динамик отвечает за свой диапазон частот, но когда их много, трудно добиться аккуратных сшивок между этими диапазонами, из-за чего образуются ямы.

АЧХ колонок с большим количеством пиков и ям

К сожалению, далеко не каждый производитель размещает график АЧХ в паспорте изделия или на официальном сайте. Энтузиасты измеряют его самостоятельно с помощью специальных микрофонов и программ, поэтому в интернете, можно найти соответствующие графики популярных моделей колонок.

Также можно попробовать услышать неравномерность АЧХ с помощью свип-тона: на ямах громкость синуса будет ниже, на горбах — выше. Сильные флуктуации по громкости будут явственно свидетельствовать о проблемах. Если сходу их заметить не удалось, стоит рассмотреть каждый частотный диапазон по отдельности.

Бас: 20 – 150 Гц

С басом проще всего: он не только лучше других диапазонов частот улавливается ухом, но и ощущается всем телом. Качество низких частот можно оценить по нескольким критериям:

1. Глубина баса — то есть, насколько низко может играть аудиосистема. Достаточно прогнать свип-тон от примерно 20 до 150 Гц, чтобы понять возможности тестируемых колонок. Однако нужно иметь в виду, что полочная акустика без сабвуфера вряд ли позволит услышать что-то ниже 50-60 Гц.

2. Неравномерность АЧХ. Обычно для этого берут синусоиды с определенной частотой, кратной десяти — сначала 20 Гц, потом 30, 40, 50 и т. д. Следует прослушать их на одинаковой громкости одну за другой, чтобы сравнить и понять, на каких частотах колонки звучат громче, а на каких — тише. Главное, чтобы колонки не гудели и не заводились ни на одной из частот. Иногда гудеть может сама комната, но это легко определить, изменив точку прослушивания и расположение колонок — если гул сохраняется, значит, дело не в помещении.

3. Оценка сабвуфера. Есть есть саб, можно проверить его звучание с помощью подходящих для этого музыкальных фрагментов. Оценить его отзывчивость, скорость реакции и натуральность звучания помогут треки, где фигурируют большие барабаны — оркестровые бас-барабаны, тайко или другие этнические. Их низкочастотная атака и длинный басовый шлейф от удара должны хорошо читаться.

Средние: 150 Гц – 5 кГц

В области средних частот лежат базовые гармоники большинства музыкальных инструментов. Это гитары, синтезаторные пэды и лиды, альты и виолончели, множество духовых, а также большинство тембров вокала. Чтобы проверить качество звучания средних частот и равномерность их АЧХ, можно:

  • Использовать свип-тон. Он позволит быстро определить проблемные участки, однако неподготовленному уху будет трудно найти их сходу.
  • Послушать музыку с акцентом на средних. Рок с перегруженными гитарами и хриплым вокалом, электроника с аналоговыми синтезаторами, джазовый оркестр и т. п. Если композиция хорошо знакома уху, то определить недостатки звучания колонок довольно легко — на ямах и провалах АЧХ некоторые инструменты будут звучать более тускло, вяло и ненатурально.
  • Использовать запись аплодисментов. Хорошая запись хлопков большого количества зрителей будет равномерно распределена по средним частотам. На хорошей акустике она будет звучать натурально и естественно, но на колонках с провалами АЧХ аплодисменты станут похожими на шум дождя. Причем там, где есть горбы на АЧХ, хлопки будут напоминать стук крупных капель по крыше.

Высокие: 5 кГц – 20 кГц

Скрипки и флейты-пикколо, женский и детский вокал, тарелки барабанной установки, гитарные соло — все это расположено в области высоких частот. Они отвечают за общую яркость звучания.

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

Эффективнее всего будет найти музыкальные фрагменты с акцентом на высокие и оценить, не режут ли они ухо, достаточно ли яркости, и, в конце концов, нравится ли звучание.

Динамический диапазон

Не нужно путать динамику и динамичность. Последняя — синоним энергичности, в то время как динамика в музыке определяет диапазон произведения по громкости: от самого тихого звука (пианиссимо) до самого громкого (фортиссимо). Соответственно, аудиосистема с хорошим динамическим диапазоном может четко и ясно отыграть как очень тихие, так и очень громкие звуки, и, особенно, резкие переходы между ними.

Для проверки динамики обычно используют живые записи оркестров и джаз-бэндов. Барабаны, бас-гитара, контрабас и рояль — инструменты с огромным динамическим диапазоном, поэтому оценивать этот параметр с их помощью особенно удобно.

1. Микродинамика. Это мелкие и тихие детали: призвуки смычка, удары пальцев по клавишам, момент удара по тарелкам и пластику барабанов и т. п. Все эти штуки и создают ту самую неповторимую атмосферу живого исполнения. Хорошая акустика позволяет их услышать и почувствовать. Удары по барабанам будут упругими и яркими, с хлесткой атакой на громких нотах, в перебивках по томам будет слышен каждый удар. Бас будет собранным и четким, а при игре пианиста будет слышно, как пальцы касаются клавиш.

2. Макродинамика. Здесь проверяется способность аудиосистемы отыгрывать резко вступающие группы инструментов — всплески оркестра, брейкдауны в роке и электронике и т. п. При этом и в тихих, и в громких моментах должен быть слышен по отдельности каждый инструмент, оркестр не должен сливаться в кашу, тембры должны быть чистыми и натуральными. При плохой макродинамике звучание при резких переходах будет замыливаться, читаемость музыкальных фраз пропадет, инструменты будут задыхаться и звучать наперебой, как школьники на большой перемене.

Тембральный баланс

Наконец, стоит оценить общую сбалансированность звучания аудиосистемы. Для этого понадобится трек с наилучшим качеством продакшна, чтобы его инструменты были примерно на одном уровне по громкости и превосходно читались, а вокал, в свою очередь, был на уровне с ними, а не летел впереди паровоза. Например, можно поискать что-нибудь с лейбла ECM Records, который специализируется на околоджазовой музыке и выпускает альбомы с эталонным звучанием. Слушателям, далеким от джаза, поможет премия Грэмми за лучший продакшн неклассической музыки. К примеру, в 2014 ее получили Daft Punk за Random Access Memories.

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

Заключение

Звучание, как и музыка в целом — вещь очень субъективная. Кому-то нравятся математически выверенные басы дабстепа, а кто-то предпочитает прозрачность, живость и детальность джазового оркестра. Поэтому видавшие виды аудиофилы обычно советуют проверять не объективное качество звучания аудиосистемы, а ее способность воспроизводить любимый жанр музыки. В конце концов, аудиосистема должна играть так, как нравится слушателю.

Методика проверки звуковых колонок



Методика проверки звуковых
колонок.

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

На mp3 проигрыватель
вы предварительно записываете подборку
именно тех фонограмм, где басы записаны
особенно «басовито» и качественно. В
принципе, достаточно 5-6 композиций разного
жанра, включая органную музыку. Прослушивая
эти записи в магазине на нескольких
акустических системах поочерёдно, вы даже
на слух заметите, какой комплект колонок
звучит более низко, мягко и мощно на низких частотах.

Более точно
проверить любую звуковоспроизводящую систему вы можете с
помощью полезной
программы — генератора звуковых частот
(объём архива
22Кб.).
Или можете записать на ноутбук (или
компьютер) подборку
файлов в диапазоне частот от 1000 до 10 герц
в формате wav из этого архива
(объём 0,9 Мб.). Но проверка с помощью
генератора более удобна.

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

Подробно методика проверки усилителя
описана в статье «Проверка
АЧХ усилителя
«.

Имейте ввиду, что при проверке
звучания колонок регуляторы тембра на усилителе
должны стоять в среднем положении или
отключены, т.е.
его АЧХ должна быть прямолинейна (горизон­тальна), а
регулятор уровня громкости не должен
менять своего положения. Уменьшая
частоту генератора вначале кнопкой
«-100» (в диапазоне от 1000 до 100 герц),
затем кнопкой «-10» (в диапазоне
от 100 до 20 герц, при необходимости вос­пользуйтесь кнопкой «-1»), будут слышны все частоты
поочерёдно, некоторые чуть громче,
некоторые тише, все примерно на одном
уровне, но с какой-то частоты с каждым
нажатием кнопки «-10» (или «-1») уровень и
мощность звучания сигнала начнёт
сильней и сильней приглушаться и в конце
совсем пропадёт. В итоге,
вы будете видеть, как вибрируют динамики,
а ясно выраженного, чистого звука
заданной частоты не услышете, только посторонние
призвуки.

Когда в
технических характеристиках пишут
частотный диапазон колонки, например
«40Гц.-20Кгц», считается, что сигнал с
частотой 40Гц. воспроизводится колонкой
с уровнем, на 15 децибел тише среднего
уровня воспроизведения основного
диапазона частот (примечание: 15 децибел,
это уменьшение мощности в 31,6 раза). Конечно, определить на
слух разницу именно 15 децибел
затруднительно, но прослушивая колонки
таким образом, вы можете определить
какие частоты
ваши колонки вообще
могут
воспроизвести
.

Исходя из своего
опыта прослушивания отмечу что этот
параметр нужно бы уменьшить до 6 или хотя
бы до 8 децибел, равнозначными уменьшению мощности в 4 или 6,3 раза,
т.к. более низкие частоты,
воспроизводимые с таким уменьшением,
практически не оказывают влияния на
звуковую картинку. На этом графике
коричневой кривой показана примерная АЧХ одной из
компьютерных АС, частотный диапазон
которой был заявлен производителем как
30Гц.-20Кгц. Но на слух, с приемлемым
уровнем, она выдаёт частоты не ниже 48-50
герц.



Нравится

вернуться
НАЗАД

ВЫЙТИ в
оглавление

Copyright © Полубоярцев А.В.

Как проверить басы в колонках на работоспособность и мощность

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

Разделы статьи

Skoda Fabia Combi 2007, л. с. — наблюдение

Красноярск

Skoda Fabia, 2006

260 000 ₽

Шахунья

Skoda Fabia, 2001

187 000 ₽

Севастополь

Skoda Fabia, 2002

300 000 ₽

Новосибирск

Skoda Fabia, 2006

199 000 ₽

Посмотреть больше машин на Дроме

Участвовать в обсуждениях могут только зарегистрированные пользователи.

Войти Зарегистрироваться

Что такое динамик

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

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

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

Для начала необходимо провести визуальный осмотр устройства, а именно, проверить на наличие повреждений:

  • корпуса;
  • шнура электропитания;
  • шнура сигнала;
  • гофры;
  • диффузора.

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

Проверка динамика мультиметром

Для проверки контактов необходимо провести измерение сопротивления, установив мультиметр в режим определения данной характеристики.

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

В случае если перевернуть динамик и покрутить его, слышны посторонние звуки (например, постукивание), то, скорее всего от гильзы, в которой расположена катушка, отпало несколько витков или вся обмотка. Это можно исправить, заново намотав обмотку.

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

Если механические дефекты все же обнаружены, катушку следует заменить. Неправильную обмотку (неровную или с нахлестом) можно самостоятельно, аккуратно перемотать.

Для проверки правильности перемотки катушки достаточно несколько раз прослушать две-три хорошо знакомых песен. Во время прослушивания нужно акцентировать внимание на громкости (как минимальной, так и максимальной), качестве звука (отсутствие посторонних шумов) и переходах звука.

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

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

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

Для этого необходимо мультиметр включить в режим замера сопротивления и померить данную характеристику динамика. Для полифонических динамиков сопротивление в среднем составляет 8 Ом, а для слуховых – порядка 30 Ом.

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

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

Если на дисплее мультиметра показано значение больше 0, то звуковая катушка целая, а если это значение равно 1 то в катушке произошел обрыв и в этом случае ее необходимо заменить.

После проверки электроники стоит проверить качество сборки диффузора и гофра. Для этого динамиком необходимо воспроизвести инфранизкие частоты. Это позволит обнаружить некачественную склейку гофра и диффузора.

В последнюю очередь стоит проверить качество работы динамика при помощи генератора частот. Данная проверка динамиков должна выполняться в диапазоне от 20 Гц до 20 кГц. Отсутствие хрипов и искажений будет означать, что динамик работает исправно и качественно.

Данные методы помогут решить задачу такую как проверка динамика мультиметром.

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

Что такое динамик

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

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

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

Для начала необходимо провести визуальный осмотр устройства, а именно, проверить на наличие повреждений:

  • корпуса;
  • шнура электропитания;
  • шнура сигнала;
  • гофры;
  • диффузора.

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

Бас=»subtitle»>

Red Hot Chili Peppers — Dark Necessities

Бас в рок-музыке лежит в диапазоне 50–200 Гц. Роковая песня с насыщенной басовой составляющей даст хорошее представление о том, как стереосистема играет этот диапазон. Найти подходящий трек легче легкого — нужно взять группу, сердцем которой будет басист. Red Hot Chili Peppers — идеальный пример: фанк-рок с качающим и очень динамичным басом будет непростым испытанием для дешевых колонок: потеряются детали и призвуки в слэпе, ноты получатся смазанными и бубнящими. На хорошей акустике трек не будет гудеть, басовые ноты будут разборчивыми, словно ими выстреливают.

Что слушать: слэп в куплете должен быть четким и собранным, ноты в припеве должны хорошо читаться, бочка не должна налезать на бас.

Noisia — Mantra

Трио из Нидерландов делает танцевальную электронику на стыке драм энд бейса и дабстепа. В современной музыке, рассчитанной на огромные залы, напичканные сабами и колонками, сложно понять, где заканчивается звукорежиссура и начинается математика. Басовая составляющая в этих треках невероятно плотная и охватывает диапазон от саб-баса до нижней середины. На больших колонках с сабвуфером можно в буквальном смысле почувствовать форму баса, поскольку волна будет проходить через все тело (именно поэтому такая музыка идеальна для танцпола). Акустика с раздутым басом будет бубнить и захлебываться, а колонки с завалом в этой области не отыграют большей части низкочастотной красоты.

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

Bassotronics — Bass I Love You

Трек от проекта, чью любовь к низким частотам нетрудно угадать, без хорошего сабвуфера вызовет лишь недоумение. Если при прослушивании на домашней акустике не слышно главной фишки этого трека — низкого саб-баса, значит, она не воспроизводит частоты ниже 50 Гц. Для сравнения, можно посмотреть на ютубе, что этот трек делает с сабвуферами.

Что слушать: саб-бас должен присутствовать, быть четким и собранным.

Высокие частоты=»subtitle»>

Vivaldi — Four Seasons

Солирующая скрипка на фоне струнного оркестра и клавесина в хорошем концертном зале и в отличной записи позволит услышать именно те самые «шелковые» высокие. Естественная реверберация помещения и живое исполнение создает потрясающе натуральное звучание. Контрастные переходы от едва слышных нот до фортиссимо позволят также оценить динамические способности системы. Акустика без провалов и горбов на высоких частотах отыграет все нотки музыкально и не будет резать уши.

Что слушать: высокие ноты должны хорошо читаться и не резать ухо, можно услышать шуршание смычка, движение пальцев по струне и другие призвуки.

Dead Can Dance — Host of Seraphim

Женский вокал в сочетании с тревожными скрипками позволят оценить верхнюю середину и высокие частоты. Потрясающий по силе голос Лизы Джерард из австралийского коллектива Dead can Dance на хорошей акустике пробирает до мурашек и остается прозрачным даже на высокой громкости.

Что слушать: вибрато на высоких нотах и хвосты реверберации между фразами должны быть хорошо слышны, тембр голоса должен быть натуральным, скрипка и вокал не должны мешать друг другу или резать слух.

Judas Priest — Painkiller

Одна из частых проблем с высокими частотами на бытовой акустике — они слишком задраны, чтобы компенсировать никудышную детализацию плохих динамиков и сделать звучание ближе к слушателю. Выявить проблему поможет трек, насыщенный резкими высокими. Painkiller британцев Judas Priest стал иконическим хэви-метал треком и подходит идеально: визжащий вокал, лязгающие гитары, шелестящие тарелки, вопящие соло — плохие колонки превратят все это в пилораму с большим количеством искажений, а на хорошей акустике трек можно крутить часами без звона в ушах.

Что слушать: гитары, особенно флажолеты и соло, высокие ноты вокала, тарелки — все должно звучать музыкально, а не давить на уши.

Средние частоты=»subtitle»>

Bach: Cello Suite No. 1 in G Major, Prelude

В целом, почти любой трек сгодится для проверки средних частот, ведь именно в них сосредоточены основные тембры большинства инструментов. Однако нет ничего лучше для оценки средних частот, чем виолончель. Диапазон этого инструмента лежит от 80 Гц до 5 кГц, а основной тембр сосредоточен в нижней середине, в районе 150–300 Гц. Таким образом, на акустике с проблемами в этой области виолончель будет звучать излишне гнусаво, «коробочно», либо без тела.

Что слушать: тембр должен быть натуральным и богатым обертонами, можно услышать движение пальцев и смычка.

Black Sabbath — War Pigs

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

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

Пространство

Hans Zimmer — Mountains

Саундтреки к крупнобюджетным блокбастерам хорошо подходят для тестирования аудиосистем. Они всегда отлично записаны и сведены, ведь их предназначение — звучать громко и без искажений. Поэтому их не лимитируют «в блин» как коммерческие записи, оставляя большой динамический диапазон, чтобы уши зрителей не уставали. Наконец, они должны создавать фильму звуковое пространство, поэтому для саунтреков так подходит симфонический оркестр, записываемый в больших залах — большая реверберация создает необходимый объем. Саундтрек к Интерстеллару в этом плане — один из лучших вариантов, здесь в звуке выражено пространство космоса: очень широкое звучание, насыщенное всеми частотами. Оркестр, орган и хор, большая реверберация — все это создает масштаб, который воспроизведет лишь акустика, умеющая работать с пространством.

Что слушать: реверберацию, особенно на высоких звуках и на оркестровых дропах.

Howard Shore — The Bridge of Khazad Dum

Оскароносный саундтрек эпичного фэнтези обязан быть масштабным, и он таким является. Хор, диссонирующие скрипки, валторны и тяжеловесная перкуссия создают огромное пространство. Стоит отметить, что хор при записи саундтрека располагался на балконе над оркестром — за счет этого он находится как бы выше него, что создает еще больше объема. Все это, чтобы передать гигантский масштаб подземного царства гномов Мории. Дешевая акустика сделает звук плоским и невзрачным.

Что слушать: пространство вокруг скрипок, меди и литавр, хвосты реверберации от согласных при вступлении хора, объем чистого вокала в конце.

Tool — Chocolate Chip Trip

В безумное эмбиентное полотно с огромной реверберацией вклинивается барабанное соло, создавая пространство в пространстве. Этот трек с последнего альбома американских прог-рокеров Tool делает из головы слушателя воздушный шарик, наполненный звуками. Правильная аудиосистема позволит услышать разные слои реверберации и даже акустику комнаты, в которой записаны барабаны, при этом слои не будут смешиваться.

Что слушать: реверберацию семплов и барабанов, хвосты от рабочего барабана и томов, объем на тарелках.

Детализация=»subtitle»>

Daft Punk — Get Lucky

Трек Get Lucky отмечен Грэмми как «Лучшая запись 2014» — в этой номинации учитываются именно технические качества песни. Что не удивительно — альбом Random Access Memories французских электронщиков Daft Punk записан преимущественно с помощью живых инструментов и представляет из себя диско-фанк, который располагает к углубленному прослушиванию и не надоедает даже после сотого повтора. Отличный трек, чтобы проверить общую разрешающую способность аудиосистемы по всему спектру.

Что слушать: должен быть слышен каждый мелкий удар по тарелкам и каждый штрих по гитаре, а бас будет выстреливать низкими нотами.

Liquid Tension Experiment — Paradigm Shift

Супергруппа Liquid Tension Experiment из музыкантов-виртуозов выдает более 9000 нот в минуту, и для аудиосистемы это станет настоящим челленджем вида «отыграй их все». Песня Paradigm Shift из первого альбома, сведенного Кевином Ширли (работавшем с Aerosmith, Dream Theater, Iron Maiden, Led Zeppelin и другими легендами), представляет собой квинтэссенцию отлично записанного и сыгранного инструментального прог-метала. Музыка очень насыщенная, с большим количеством деталей, плотной ритм-секцией, кучей запилов на гитаре и клавишах — не каждая аудиосистема осилит. При этом отсутствие вокала позволяет сконцентрироваться на тембрах инструментов.

Что слушать: гитарный и клавишный шред должен хорошо читаться, в сбивках на барабанах должен быть слышен каждый удар, бас и панч от гитарных риффов должны быть четкими и собранными.

Meshuggah — Clockworks

Настоящим краш-тестом для аудиосистемы будут экстремальные жанры металла. В качестве примера можно рассмотреть номинированный на Грэмми трек от гуру джента Meshuggah: тяжеленные восьмиструнные гитары, абсолютно безумный барабанщик, невероятная техника и проработка деталей. Музыка крайне насыщена низкими частотами — гитары отстроены на октаву ниже стандартного строя, в сочетании с жирнейшим басом они производят объемный и собранный панч. Непрерывные акценты по рабочему барабану создают объем. На системе с плохой детализацией все это превратится в неразборчивую кашу.

Что слушать: акценты по рабочему барабану должны хорошо читаться, панч от гитар не должен размываться, инструменты должны хорошо читаться даже на быстрых кусках, бас не должен мешать бочке.

Динамический диапазон=»subtitle»>

Holst: The Planets, ‘Mars’

Когда речь заходит о динамическом диапазоне (разнице и количестве градаций между самым тихим и самым громким звучанием), чемпионами являются рояль и симфонический оркестр. И если выбирать из произведений для оркестра, то очевидным примером будет сюита «Планеты». От едва уловимых нот до поражающей масштабностью звуковой картины — это произведение Густава Холста 100-летней давности, воспроизведенная большим оркестром и качественно записанная современной аппаратурой, может устроить нешуточное испытание любой аудиосистеме. Та, что не умеет играть переходы от тихих до очень громких нот, просто захлебнется на экспрессивных кусках.

Что слушать: разница между тихими и громкими фрагментами должна быть существенной, при этом не нужно будет крутить ручку громкости, на самых эпичных частях партии всех инструментов должны хорошо читаться, не должно быть искажений, можно услышать лажу трубача на 4:16.

Liszt’s Hungarian Rhapsody No. 2

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

Что слушать: все ноты должны быть хорошо слышны — от самых тихих до самых громких, быстрые партии не должны сливаться в кашу, громкие высокие ноты и грузные басовые пассажи должны звучать чисто, можно услышать дыхание исполнителя и призвуки удара пальцев по клавишам.

Duke Ellington, Juan Tizol, Irving Mills — Caravan (Whiplash OST)

Караван — это джазовый стандарт, то есть тема, которая используется джазовым оркестром для импровизации вокруг нее. Караван был написан в 1930-х и стал одной самых известных джазовых композиций всех времен. Именно она оказалась в центре сюжета фильма «Одержимость», изданный саундтрек к которому содержит превосходно звучащую версию знаменитой композиции. Суматошный темп, уйма инструментов, занимающих весь частотный диапазон, витиеватая композиция с импровизациями — совсем не легкий материал для аудиосистемы. Качественные динамики позволят услышать, как живо и натурально звучат все инструменты, как они создают панч и работают вместе, а также в деталях рассмотреть каждый удар чумового барабанного соло.

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

Контрольная акустика, использовавшаяся для подготовки материала:

● Yamaha MSP7.

● Behringer B2031A.

● Line6 StageSource L3t c родными сабами.

● Noname компьютерные колонки в качестве shit-control.

Как проверить динамик на iPhone

Почему не работает динамик на айфоне

Звук iPhone никогда не вызвал нареканий за всю историю существования. Редкий случай, когда нам в сервисный центр приносят айфон с этой проблемой, без предшествующей историей, упал, попала влага и прочие неприятности.

Самая распространенная причина обращение — снижение звука. Кроме этого диагностика динамиков требуется при таких симптомах:

  • посторонний шум, потрескивание;
  • периодическое беспричинное пропадание звука;
  • отсутствие реакции на регулировку громкости, нажатие кнопки не приводит к ожидаемому результату.

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

Как проверить динамик на айфоне

Прежде чем “хоронить” айфон или отдельные его части, следует попробовать все программные способы решения проблемы.

Способ No 1. Если на вашем айфоне периодически пропадает звук, возможно проблема в ПО. Для устранения, необходимо обновить iOS до последней версии.

Способ No 2. Если динамик в айфоне стал работать тише, проверяем настройки. Возможно в смартфоне включен “Энергосберегающий режим”. При активации данной функции громкость становится тише, яркость — ниже. Чтобы это сделать переходим в “Настройки”, “Аккумулятор”, “Энергосберегающий режим”.

Способ No 3. Чтобы проверить следующий вариант, почему плохо работает динамик iPhone, заходим в “Настройки”, “Звук”, “Звуки и тактильные сигналы”. Здесь на полосе “Звуки и предупреждения” надо передвинуть ползунок в одну и другую сторону. Если громкость не меняется или индикатор ползунка не активен. Похоже, что грозит ремонт динамика iPhone.

Способ No 4. Иногда громкость айфона становится тише из-за включенного режима “Шумоподавление”. Его активирую при использовании гарнитуры AirPods. Функция перераспределят интенсивность звука, исходящего из микрофона.  Чтобы это проверить, заходим «Настройки», “Bluetooth”, выбираем AirPods, в пункте “Управление шумом”, выключаем режим.

Способ No 5. Иногда снижение звука происходит из-за “Настроек воспроизведения музыки”. Проверяем: заходим “Настройки”, “Музыка”, смотрим пункт “ограничение громкости”, должен быть в положении “Выкл.”

Способ No 6. После проведенных изменений перезагрузите устройство. Если после этого ситуация не изменилась, пора отправляться в сервисный центр для аппаратного тестирования.

Что делать если плохо работает динамик iPhone

Если ни один из указанных способов не помог реанимировать звук, приходите в AppleLab. Мы проведем тщательную диагностику, абсолютно бесплатно, при необходимости, сможем починить динамик или произвести его тщательную чистку. Мы восстанавливаем звук после любых поломок и попадания влаги. У нас большой опыт в ремонте устройств Apple. Осуществляем все виды ремонта. Предоставляем гарантию на проведенные работы до 12 месяцев. У нас нет проблем с наличием запчастей, все наиболее востребованные детали всегда есть в наличии. Мы держим руку на пульсе и всегда в курсе нового оборудования и способами его ремонта. Ремонт в AppleLab — надежности и бескомпромиссное качество.

Проверка звука наушников онлайн: тест лево

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

Как проверить наушники и колонки на качество звука

Работоспособность и качество звука в наушниках определяют с применением методик, предназначенных для определения конкретного параметра или универсальными приложениями. Популярны:

  1. Онлайн-сервисы. Для проверки определяются с сервисом, заходят на сайт, запускают тест и приступают к анализу состояния гарнитуры.
  2. Программы. Скачивают софт для тестирования и устанавливают. Вариант подходит для узкоспециализированного тестирования. Качество проверки не зависит от работы сайта, браузера или скорости интернета. Программы определяют основные параметры устройства, характеристики.

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

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

Проверка наушников лево право с помощью тестового видео

Состояние звука в наушниках отображается на слухе человека, поэтому внимание уделяется качеству. Для проверки audio в моделях используют такую методику:

  1. Выбирают режим «Стерео».
  2. Нажимают на приложении на значки динамиков. Проверяют соответствие левого канала и правого своей стороне.
  3. В процессе нажатия происходит отображение звука и слышно звучание с левой стороны. Это говорит о правильной работе обоих каналов и правильности подключения.

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

Диагностика будет возможна при надежном канале соединения с интернетом. Это предотвращает проверку работоспособности от минимальных трудностей.

Проверка стерео звука право и лево с помощью тестового трека

Проверку стерео легче выполнить с помощью музыкального трека. Для этого находят музыку в интернете. Подойдет и профессиональная, студийная запись. Такая проверка не точная, но она позволит понять устраивает ли звучание или работает устройство.

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

Тем, кто предпочитает не смотреть видео, а протестировать наушники другим способом, стоит обратиться к проверочным трекам. Популярностью пользуются записи:

  1. Стук в дверь. Сначала стучит в правом динамике, после этого звук переходит на левый канал. Прослушивание быстро покажет, какой из них хуже работает или не функционирует совсем.

  1. Частоты 20 гЦ – 10 кГц. Тестирование заключается в равномерном направлении сигнала в оба динамика. Отсутствие неполадок в левом и правом динамике понимают по одинаковому звучанию с обеих сторон.

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

Определить возможный брак можно, если скачать файл воспроизводящий стук и частоту. Есть варианты с фразами в уадиофайле. Она звучит при включении и определяет канал.

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

Если протестировать с помощью трека не получается, то можно использовать программу для ПК. С ее помощью выполняют процедуру позиционирования звуков в наушниках.

Для проверки нарушения баланса между каналами и уровня громкости включают трек в режиме «Моно», настраивают громкость и проверяют аудиозаписи.

Также выбирают подходящее звучание, запускают композицию и прослушивают ее. Если тональность смещается, дисбаланс каналов очевиден. Исправные модели должны выдавать насыщенный и реалистичный звук.

Для определения неполадок с призвуками используется монофонический свип-топ. Механические сложности в области низких частот возникают при задевании мембраны чем-либо или при наличии трещин на мембране. Это сопровождается появлением резонанса на конкретных уровнях. Дребезжание на низкой частоте можно услышать, если на мембрану попадет волосок.

На музыкальных треках сначала воспроизводятся низкие частоты, постепенно продвигаясь к высоким. Звучание одного канала громче другого говорит о неполадках.

Тестовые треки позволяют самостоятельно оценить качество звучания программного плеера, проверить характерные искажения от влияния системного микшера ОС и других эффектов.

Как проверить баланс и качество звука наушников на телефоне

Проверять насколько качественный звук в наушниках можно с помощью приложений. Наиболее надежные и информативные:

  1. Earphones Test +. Приложение выполняет тестирование наушников и динамиков, оценивая параметры качества. Также с его помощью выясняют совместимость с андроид-устройством. Для Apple этот вариант не подходит. Инструмент выполняет эффективное сравнение характеристик и поведения гарнитуры. Его используют для оценки новой модели перед покупкой и выяснении совместимости смартфона со слуховыми характеристиками конкретного человека. Приложение скачивают бесплатно. В нем отсутствует реклама, а управление простое. Тестер содержит заготовленные треки, поэтому не относится к сложным генераторам сигнала.
  2. Sweep. Для воспроизведения тона используется переменная частота. Она предназначена для оценки наличия призвуков. Программу используют в сочетании с Earphones Test + или вместо нее, так как первая работает на основе дискретного повышения частоты, поэтому есть риск пропустить проблемную частоту и выполнить проверку не точно.
  3. Генератор частоты HD Pro. Предназначена для выбора конкретной частоты из значений, заготовленных заранее. С помощью программы оценивают наличие призвуков на низких частотах.
  4. Check LR. Вариант используют для проверки каналов с левой и правой стороны.
  5. Compat. Используется для проверки фазы и противофазы.
  6. Sound Analyzer App. Для оценки характеристик подходит демонстрация с изменением амплитуды сигнала с шагом в 6 дБ. Приложение полезно для тех, кто хочет обрести знания в сфере влияния дБ на субъективную громкость.

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

С помощью приложений выполняют проверку звука онлайн и выявляют брак и указывают сервисному центру на дефект.

Как протестировать наушники и колонки на другие параметры звука

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

Как проверить работоспособность микрофона

На басы

Проверку на басы выполняют по отношению ко всем видам конструкций наушников: накладным, беспроводным, вкладышам, внутриканальным и другим. Проверка звучания баса позволит:

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

Как убрать фоновый шум в наушниках

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

Басс может быть:

  1. Естественным. Это характерно для студийных моделей.
  2. Сбалансированным. Встречается в музыкальных моделях.
  3. Чрезмерно мощным. Это относится к басовым моделям.

Важна и сама музыка. Например, слушать дабстеп будет приятнее на басовых наушниках.

Проверка баса для наушников

Проверку увеличения басов выполняют на плеере, компе, ноутбуке или смартфоне:

  1. Для оборудования с Max OS, iOS, Android устанавливают подходящие приложения.
  2. Для Windows используют программы с эффективной настройкой. Realtek HD Audio обеспечивает настройку посредством звуковой карты. Эквалайзер обеспечивает точность настройки частот.

Объемность

Объемность звука обеспечивает возможность транслировать сигналы для двух ушей. Благодаря этому явлению правое ухо слышит звуки, предназначенные для левого и наоборот. Это встречается у колонок jbl. Но наушники четко разделяют звук. Производители пытаются решить проблему объемного звучания с помощью аудиодрайверов, имитирующих местоположение источника в виртуальном пространстве. Объемный пространственный звук позволит ощутить эффект присутствия.

Тест на объемный звук 5.1

Для проверки разрабатывают инсталлируемые программы и онлайн-сервисы.  Существуют два варианта объемного звука: 5,1, 7,1. Первый поставляется с 6 звуковыми каналами, а второй – с 8.

На задержку звука

Иногда определяют отставание звука в наушниках. Параметр важен для беспроводных блютуз наушников. Проверяют также при обработке аудио в ускоренном темпе. Рассинхронизацию выясняют с помощью видео, позволяющее определить будет отставать звук или нет.

Баланс звука

Баланс помогают выяснить треки с диапазоном частот и стуков в дверь. Скачать их можно в формате flac или wav.

Для правильного воспроизведения стерео панорамы динамики должны с одинаковым звуковым спектром воспроизводить частоты. Тесты создают частоту 20 Гц-10 еГц и посылают их с одинаковым уровнем на динамики. В течение проверки сигнал должен звучать в центре, без отклонений.

Громкость звука

Игра наушников с достаточной громкостью позволяет комфортно прослушивать музыку, вести разговор. Если устройство работает тихо, стоит ознакомиться с сопротивлением у проводных моделей. Устройства без отдельного усилителя функционируют с сопротивлением 64 Ом. Для больших параметров требуется источник мощнее.

Величина сопротивления меняется в соответствии с частотой и представлена в виде кривой линии или импеданса. По показателю определяют тип излучателя или излучателей, используемых в изделии.

Диапазон частот

Тест на АЧХ или амплитудно-частотную характеристику и диапазон воспроизводимых частот покажет качество звука, так как ухо человека не воспринимает частоты, выходящие за пределы 20Гц-2000 Гц.

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

За пределами указанного значения звук тише. С резким обрывом частоты, когда наушники не воспроизводят выше границы, сталкиваются у беспроводных или USB моделях, подключающихся во вход компьютера или смартфона. Хоть динамик способен воспроизводить высокие частоты, но встроенный ЦАП или цифровой формат ограничен частотой.

Как проверить блютуз наушники на работоспособность

Протестировать беспроводные блютуз модели не трудно. Отличий от беспроводных моделей нет. Среди нюансов выделяют:

  1. Зависимость качества звука от наличия кодеков. AptX, AptX HD, LDAC. Их включают в настройках смартфона или плеера.
  2. Зависимость от новизны блютуз. Старые варианты до четвертой обновления не успевают передавать сведения, поступающие одновременно с аудио-дорожек. Проблемы с передачей информации отсутствуют при использовании вариантов 4.0+.
  3. Проведение теста с помощью кабеля. Он показывает хороший эффект, если сравнить с беспроводными наушниками.

Перед проверкой стоит сразу подстраивать звук «по воздуху», так как прослушивание наушников будет выполняться по блютуз. Способ подходит и для проверки наушников нового поколения HOCO, игровую гарнитуру Logitech G430, Sony.

Сеть предлагает композиции для проверки гаджетов. Их работа основана на аудиоффайлах, для использования которых, требуются знания о специфических особенностях тональности. Большинству пользователей справиться с задачей сложно. Но есть и простые варианты, в виде тестовых мелодий и приложений. Доступна проверка гарнитуры через Windows. Стандартные средства Win обеспечивают точный результат.

За счет приятного и мелодичного звучания барабанные перепонки не будут перегружаться и человек сохранит слух. Для проверки не посещают сервисные центры и не сдают аксессуар мастерам на неопределенный срок. Сделать тест можно дома on-line без финансовых затрат. Пользователь лично убедится в качества воспроизведения и сэкономит средства.

Простые визуальные методы оценки производительности колонки ВЭЖХ

Клиент недавно попросил меня провести быстрое, но «максимально оптимизированное» разделение некоторых образцов моноклональных антител (MAb) для характеристики (гидролиза) образцов с использованием ЖХ-МС. Образцы были подготовлены и ожидали анализа — типичное перспективное планирование! Фактически его внутренний аналитический отдел изменил свои приоритеты, и он остался в подвешенном состоянии.

После краткого объяснения парадигмы качества / скорости / стоимости (!) Я отправился в лабораторию, чтобы попытаться придумать хорошее разделение, которое дало бы ему лучшее разделение и, следовательно, наиболее полную характеристику некоторых посттрансляционных модификаций (PTM). ), что он учился.

Я разработал несколько похожих методов и примерно знал, какую фазу и размеры я собираюсь попробовать, но я также знал, что метод должен быть относительно быстрым. Выбор доступных столбцов был;

Корпус сердечника C8 — 150 мм x 2,1 мм, 2,6 мм, 120A
C8 Полностью пористый — 75 мм x 4,6 мм, 1,8 мм, 120A

Фаза на обеих колонках была заявлена ​​производителем как одна и та же (хотя я всегда немного скептически относился к переносимости селективности при изменении морфологии частиц).У меня есть система УВЭЖХ, подключенная к масс-спектрометру, и поэтому возможности для потока и давления довольно широки, а дополнительные объемы колонки невелики.

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

Для начала два утверждения.

  1. Знание некоторых фундаментальных взаимосвязей в хроматографии очень помогает при разработке экспериментов такого типа.
  2. Термин «пиковая мощность» мало что значил для меня, пока мир протеомики не взорвался в начале «нулевых», и нам действительно не потребовалось очень эффективное жидкофазное разделение. Честно говоря, полученные абсолютные числа по-прежнему очень мало значат для меня, однако, если их получить практически, пиковая емкость может быть отличным компаратором, и можно узнать значения, которые могут потребоваться в определенных аналитических ситуациях.

Итак, мне нужно выбрать оптимальную геометрию колонки и набор условий для этого анализа ЖХ-МС, и мне нужно сделать это быстро (надеюсь, за ночь).Я уже выбрал фазу колонки для использования, и подвижная фаза для этих типов экспериментов довольно хорошо охарактеризована, как правило, состоящая из летучего буфера, доведенного конъюгированной кислотой до pH примерно 2,9.
Ключевыми моментами для правильного проведения экспериментов такого типа являются скорость потока подвижной фазы и выбор размера колонки — «кинетический график».

Вкратце, если вы хотите более подробно ознакомиться с практическими графическими методами оценки и сравнения столбцов ВЭЖХ, недавняя статья Десмета под названием «Методы графического представления данных для оценки качества столбцов ВЭЖХ» 1 отличное место для начала!


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

Я должен указать здесь, что в данном случае я не использую какое-либо программное обеспечение для автоматизированной разработки методов, и единственное немного «нестандартное» оборудование — это переключающий клапан в термостате колонки, который позволяет мне переключать поток элюента между ними. столбцы. Я выбираю условия, основанные на некоторых довольно фундаментальных взаимосвязях, и программирую последовательность инъекций, в результате чего получаются хроматограммы, которые я буду оценивать на глаз и с помощью таблицы Excel на следующее утро.Я не выполняю закачку в двух экземплярах, так как некоторые из циклов будут довольно длинными, и я бы предпочел убедиться, что любые изменения скорости потока хорошо уравновешены, то есть скорость потока точная и стабильная, перед следующей инъекцией.

Сначала мне нужно знать объемы пустот в каждой колонке, которые легко вычислить;

r — радиус столбца, L — длина столбца и Interstitial Porosity (пространство внутри и между частицами неподвижной фазы, которое занято подвижной фазой) — это эмпирические числа, которые меняются с каждой читаемой публикацией — но в наших руках 0.68 для полностью пористых колонок и 0,55 для частиц ядро-оболочка.

Объем пустот в колонке 1 (150 мм x 2,1 мм, оболочка ядра) = 0,29 мл (t 0 = 0,29 / 0,5 = 0,58 мин)
Объем пустот в колонке 2 (75 мм x 4,6 мм, полностью пористый) = 0,85 мл (t 0 = 0,85 / 0,5 = 1,7 минуты)


В конечном итоге мне понадобится кинетический график определенного типа для этого эксперимента при различных скоростях потока и временах градиента. Я собираюсь основывать свои вычисления на скорости потока подвижной фазы, равной 0.5 мл / мин. (хорошая скорость потока для оборудования ЖХ-МС, которое я использую для эксперимента) и вычислите другие условия оттуда.

У меня есть практическое правило (которое часто повторяется в литературе), что оптимальное время градиента (t g ) для общего разделения составляет около 12 x t 0 . Поскольку t 0 — это просто объем пустот (рассчитанный выше), деленный на расход подвижной фазы, я могу быстро спланировать эксперимент для исследования кинетических характеристик этих двух колонок и представить результаты очень прагматично с использованием пиковой емкости. данные.

Колонка 1 V 0 = 0,29 мл, следовательно, t 0 = 0,29 / 0,5 = 0,58 мин.
Колонка 2, V 0 = 0,85 мл, следовательно, t 0 = 0,85 / 0,5 = 1,7 мин.

Я разделю V 0 на расход для каждого эксперимента, а затем умножу результат на 12, чтобы получить t г

Таким образом, экспериментальный план был следующим;

Расход
(мл / мин)
Колонка 1 т г
(время градиента) (мин.)
Колонка 2 т г
(время градиента) (мин)
0,1 35,0 102,0
0,25 14,0 40,8
0,5 7,0 20,4
1,0 3,5 10,2
1,5 2,3 6,8
2.0 1,7 5,1
2,5 1,4 4,1
3,0 1,2 3,4

Таблица 1: Эксперименты, предназначенные для исследования кинетических характеристик двух имеющихся колонок.


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

Система данных, которую я использую, сообщает ширину пика на w 1/2 или ширину пика на половине высоты пика — что может быть преобразовано в нужную мне ширину пика 4σ (где σ представляет собой 1 стандартное отклонение) с помощью простого уравнения;

Итак, исходя из ширины пиков, сообщенных системой, я складываю их все и делю на количество найденных пиков, а затем использую приведенное выше уравнение, чтобы получить отклонение 4σ, которое представляет ширину пика на базовой линии.

Очень полезный практический способ оценки пиковой мощности использует формулу;

Что может быть проще — емкость пика для градиентного разделения (n p, grad ) можно оценить, используя время градиента, деленное на среднюю ширину пика у основания для всех пиков в хроматограмме.

Экспериментальные результаты (рассчитанные с использованием имеющейся у нас электронной таблицы Excel для представления кинетических данных) и кинетический график для эксперимента показаны ниже;

F (мл / мин) w 1/2, среднее (C1) Вт 4σ, средн. (C1) т г н п, град (С1) w 1/2, в среднем (C2) W 4σ, средн. (C2) т г н п, град (С2)
0.1 0,260 0,442 35,0 80 0,37 0,63 102,0 57
0,25 0,080 0,136 14,0 104 0,12 0,20 40,8 70
0,50 0,050 0.085 7,0 83 0,08 0,13 20,4 56
1,00 0,055 0,093 3,5 38 0,04 0,06 10,2 60
1,50 0,040 0,068 2,3 35 0.03 0,05 6,8 46
2,00 0,035 0,059 1,7 30 0,03 0,04 5,1 41
2,50 0,035 0,059 1,4 25 0,02 0,03 4,1 42
3.00 0,025 0,042 1,2 29 0,02 0,03 3,4

36

Таблица 2: Экспериментальные результаты и расчет ширины пиков 4σ и пиковой емкости (n p, grad )

Рис. 1: Квазикинетический график производительности колонки с точки зрения практической пиковой емкости для двух исследуемых колонок при различных скоростях потока элюента.


Из значений пиковой производительности по оси Y должно быть довольно очевидно, что разные колонки лучше всего работают при разных скоростях потока и что лучшая производительность достигается за счет колонки с сердечником и оболочкой при скоростях потока 0,25 и 0,5 мл / мин. При этой скорости потока в этом столбце количество пиков, которые можно разделить за единицу времени, является наибольшим. Это загадка, поскольку методы должны быть как можно более быстрыми.

Из-за ключевого разделения критической пары пиков (см. Рисунок 2) мы в конечном итоге выбрали столбец ядро-оболочка на 0.25 мл / мин. что привело к времени работы от закачки до закачки 22 минут, что неплохо для этого типа анализа.

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

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


Я понимаю, что это очень ограниченное исследование, и что нам посчастливилось знать фазу, состав элюента и диапазон градиентов, которые подходят для этого типа метода.Однако, если вы прочитаете ссылку 1, вы увидите, что различные хроматографические параметры могут быть нанесены на график (например, разрешение, уменьшенная высота планшета и t 0 для колонок различной длины) в зависимости от различных практических результатов (эффективность, время удерживания или планшет время и т. д.), чтобы дать несколько очень полезных и практичных способов определения наилучшей конфигурации колонки и рабочих условий для различных «типов» анализа, который вы можете предпринять.

На самом деле, вышеупомянутая работа, вероятно, представляла собой около 4-5 часов работы, поскольку система работала без присмотра в течение ночи.
Я думаю, что это обеспечило хорошую окупаемость инвестиций, и зная некоторые фундаментальные взаимосвязи в хроматографии наряду с некоторыми практическими эмпирическими правилами, мы смогли оптимизировать достаточно сложное разделение быстро и прагматично.

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

[1] Методы графического представления данных для оценки качества колонок ЖХ, Герт Десмет, Дейрдре Кабутер и Кен Брокховен, Analytical Chemistry 2015 87 (17), 8593-8602

SELECT * и EXISTS против IN против JOINs

Довольно часто разработчики перекладывают ответственность за производительность сервера на администраторов баз данных.Но, честно говоря, вы как разработчик обязаны писать эффективный и оптимальный код. Однако при написании кода разработчику часто не хватает знаний и / или опыта работы с SQL Server для выполнения этого требования.

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

Чтобы убедиться, что мы не попадаем в сферу «зависит от обстоятельств», вся статья в основном основана на правиле 80-20. 80% рабочих правил могут выиграть от обобщения, но все еще есть 20% конкретных конкретных использованных случаев, в которых обобщение может оказаться бесполезным.

В статье мы поговорим о различных операторах и о том, что они делают, когда приходят и что происходит.

Избегайте использования SELECT *

При написании запросов было бы лучше устанавливать нужные столбцы в операторе select, а не в SELECT *.Для этой рекомендации есть много причин, например:

  1. SELECT * Извлекает ненужные данные, кроме того, это может увеличить сетевой трафик, используемый для ваших запросов.
  2. Когда вы SELECT *, можно получить два столбца с одинаковым именем из двух разных таблиц (например, при использовании JOINS).
  3. SELECT * с условиями WHERE по умолчанию будет использовать кластерный индекс, поэтому другие оптимальные индексы могут не использоваться.
  4. Приложение может выйти из строя из-за изменения порядка столбцов.

Давайте попробуем проверить недостатки использования SELECT * с образцом базы данных AdventureWorks2014:

Включите фактический план выполнения при выполнении следующего запроса:

ИСПОЛЬЗОВАТЬ AdventureWorks2014

GO

УСТАНОВИТЬ СТАТИСТИКУ IO ON

ВЫБРАТЬ SalesOrderID, SalesOrderDetailID, CarrierTrackingNumber

ИЗ продаж.SalesOrderDetail

ГДЕ ProductID = 707

GO

ВЫБРАТЬ *

ИЗ Sales.SalesOrderDetail

ГДЕ ProductID = 707

GO

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

Несмотря на отсутствие индекса, для первого оператора SELECT есть небольшое преимущество в стоимости запроса.

Снимок экрана взят из ApexSQL Plan, инструмента для просмотра и анализа планов выполнения запросов SQL Server.

Теперь давайте создадим недостающий индекс, как предложено оптимизатором запросов.

СОЗДАТЬ ИНДЕКС IX_SalesOrderDetail_1 ON Sales.SalesOrderDetail (ProductID, SalesOrderID, SalesOrderDetailID, CarrierTrackingNumber)

 

И повторите те же запросы еще раз.

Теперь разница очень очевидна: первый запрос имеет только 13 логических операций чтения с относительной стоимостью запроса всего 1% по сравнению со вторым запросом, который фактически выполняет полное сканирование кластеризованного индекса, не используя недавно созданный некластеризованный индекс.

СУЩЕСТВУЕТ против IN против СОЕДИНЕНИЙ

Прежде чем выбрать IN или EXISTS, вам нужно рассмотреть некоторые детали.

В большинстве случаев IN и EXISTS дают одинаковые результаты с одинаковой производительностью.

С другой стороны, при использовании JOINS вы можете не получить тот же набор результатов, что и в предложениях IN и EXISTS.

Итак, чтобы оптимизировать производительность, вам нужно уметь использовать и выбирать, какой из операторов.

1. EXISTS vs IN vs JOIN с столбцами NOT NULLable:

Мы будем использовать базу данных TEMPDB для всех этих сценариев.

Следующий сценарий создаст и заполнит две таблицы в базе данных TEMPDB.Основные идеи в этих таблицах заключаются в том, что маленькая таблица является подмножеством большой таблицы, а столбец идентификатора не допускает пустых значений.

1

2

3

4

5

6

7

8

9

10

11

12

13

140002

18

19

20

21

22

23

24

25

26

27

28

29

30

ИСПОЛЬЗОВАТЬ tempdb

GO

УСТАНОВИТЬ NOCOUNT ON

GO

СОЗДАТЬ ТАБЛИЦУ BigTable (ID INT NOT NULL,

FirstName VARCHAR (100),

LastName VARCHAR (1000002),

CHAR (100) VARCHAR (100),

CH)

GO

INSERT INTO BigTable (ID, FirstName, LastName, City)

SELECT TOP 100000 ROW_NUMBER () OVER (ORDER BY a.name) RowID,

'Bob',

CASE WHEN ROW_NUMBER () OVER (ORDER BY a.name)% 2 = 1 THEN 'Smith'

ELSE 'Brown' END,

CASE WHEN ROW_NUMBER () OVER ( ЗАКАЗАТЬ ПО имени)% 10 = 1 ТОГДА 'Нью-Йорк'

КОГДА НОМЕР СТРОКИ () ВЫШЕ (ЗАКАЗАТЬ ПО имени)% 10 = 5 ТОГДА 'Сан-Марино'

КОГДА НОМЕР СТРОКИ () ВЫШЕ (ЗАКАЗ НА. name)% 10 = 3 ТОГДА 'Лос-Анджелес'

КОГДА ROW_NUMBER () ВЫШЕ (ЗАКАЗАТЬ НА имя)% 427 = 1 ТОГДА 'Хайдарабад'

ИНАЧЕ 'Хьюстон' КОНЕЦ

ОТ sys.all_objects a

CROSS JOIN sys.all_objects b

GO

CREATE TABLE SmallTable (ID INT NOT NULL,

FirstName VARCHAR (100),

LastName VARCHAR (100),

1002 City VARCH) GO

INSERT INTO SmallTable (ID, FirstName, LastName, City)

SELECT TOP (1000) * FROM BigTable

Далее мы создадим кластерные индексы для этих таблиц:

СОЗДАТЬ КЛАСТЕРИРОВАННЫЙ ИНДЕКС IX_BigTable_ID

НА BigTable (ID)

GO

СОЗДАТЬ КЛАСТЕРИРОВАННЫЙ ИНДЕКС IX_SmallTable_ID

НА SmallTable (ID)

GO

Наконец, мы добавим одну повторяющуюся строку в небольшую таблицу:

ВСТАВИТЬ В SmallTable (ID, FirstName, LastName, City)

SELECT TOP (1) * FROM SmallTable

Теперь, включив фактический план выполнения, выполните следующие три запроса вместе, чтобы выяснить различия:

1

2

3

4

5

6

7

8

9

10

11

12

13

140002

18

19

20

21

22

УСТАНОВИТЬ СТАТИСТИКУ IO ON

SET NOCOUNT OFF

print'Using IN Clause '

SELECT ID, City

FROM BigTable

WHERE ID IN

(SELECT ID

FROM

FROM Small

print

from Small

print

) 'Использование Exists Clause'

SELECT ID, City

FROM BigTable

WHERE EXISTS

(SELECT ID

FROM SmallTable

WHERE SmallTable.ID = BigTable.ID)

GO

Печать 'Using JOIN'

SELECT bt.ID, bt.City

FROM BigTable bt

INNER JOIN SmallTable st ON bt.ID = st.ID

GO

Первое отличие, которое вы заметите, как я уже сказал, строки, возвращаемые JOIN, составляют 1001 строку против 1000 строк для предложений IN и EXISTS.

Причина в том, что мы вставили повторяющуюся строку.

Если мы посмотрим на планы выполнения, мы заметим, что у них одинаковая стоимость запроса - 33%.

Единственное отличие здесь состоит в том, что план выполнения запроса JOIN немного отличается, но стоимость, похоже, такая же.

В этом конкретном случае вы видите, что планы выполнения для предложений IN и EXISTS идентичны.

2. НЕ СУЩЕСТВУЕТ по сравнению с НЕ В ИЛИ СОЕДИНЕНИЕ с столбцами NOT NULLable:

Используя те же две таблицы в предыдущем сценарии и включая фактический план выполнения, выполните следующие три запроса:

.

1

2

3

4

5

6

7

8

9

10

11

12

13

140002

14

18

19

20

21

22

23

SET STATISTICS IO ON

SET NOCOUNT OFF

print'Using NOT IN Clause '

SELECT ID, City

FROM BigTable

WHERE ID NOT IN

(SELECT ID

FROM 9Table) GO

print 'Использование NOT Exists Clause'

SELECT ID, City

FROM BigTable

WHERE NOT EXISTS

(SELECT ID

FROM SmallTable

WHERE SmallTable.ID = BigTable.ID)

GO

Распечатать 'Using LEFT JOIN'

SELECT bt.ID, bt.City

FROM BigTable bt

LEFT JOIN SmallTable st ON bt.ID = st.ID

WHERE .ID IS NULL

GO

Здесь одинаковое количество записей было возвращено для всех трех запросов, но если мы посмотрим на планы выполнения на следующем рисунке (см. Ниже), можно заметить несколько иное поведение.

НЕ СУЩЕСТВУЕТ и НЕ В, дает мне 28% относительной стоимости.

И здесь я вижу, что условия JOIN на самом деле более понятны с точки зрения затрат на 43% по сравнению с партией.

Это действительно интересный случай. Итак, не могли бы вы предсказать, что произойдет, если мы переключим таблицы в предыдущем запросе?

Давайте проверим это с помощью следующего запроса:

.

1

2

3

4

5

6

7

8

9

10

11

12

13

140002

14

18

19

20

21

22

23

УСТАНОВИТЬ СТАТИСТИКУ IO ON

SET NOCOUNT OFF

print'Using NOT IN Clause '

SELECT ID, City

FROM SmallTable

WHERE ID NOT IN

(SELECT ID

FROM

BigTable) GO

print 'Использование NOT Exists Clause'

SELECT ID, City

FROM SmallTable

WHERE NOT EXISTS

(SELECT ID

FROM BigTable

WHERE SmallTable.ID = BigTable.ID)

GO

Распечатать 'Using LEFT JOIN'

SELECT bt.ID, bt.City

FROM SmallTable st

LEFT JOIN BigTable bt ON bt.ID = st.ID

WHERE .ID IS NULL

GO

Понимая, что маленькая таблица является подмножеством большой таблицы, ни один из этих запросов не вернет вам какой-либо набор результатов.

Но как насчет планов выполнения? Они возвращают то же самое?

Интересные результаты… Теперь первый и второй запрос составляют 50% от партии.

И по иронии судьбы последний запрос, который является LEFT JOIN, на самом деле показывает 0% относительного процента и выполняет постоянное сканирование.

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

Следовательно, 0 строк и постоянное сканирование, что означает, что SQL Server также не коснулся большой таблицы.

Здесь на помощь приходит оптимизатор, основанный на затратах, и выполняет оптимизацию за вас, а не мы, основываясь на предложениях NOT EXISTS или NOT IN.

3. СУЩЕСТВУЕТ против IN против СОЕДИНЕНИЯ с NULLable столбцами:

После создания тех же двух таблиц, но со столбцом идентификатора, допускающим нулевое значение и заполнением их теми же данными.

Одна небольшая вещь, которую следует упомянуть здесь, чтобы убедиться, что все сценарии охвачены, заключается в том, что EXISTS vs IN vs JOIN с столбцами NULLable дадут вам те же результаты и ту же производительность, что и у столбцов NOT NULLABLE, упомянутых выше.

4. NOT EXISTS vs NOT IN vs JOIN с NULLable столбцами:

Мы увидим, как небольшое изменение, такое как разрешение пустых значений для столбца ID в обеих таблицах, сильно повлияет на производительность трех предложений.

Включив фактический план выполнения, выполните следующий запрос:

.

1

2

3

4

5

6

7

8

9

10

11

12

13

140002

14

18

19

20

21

22

23

SET STATISTICS IO ON

SET NOCOUNT OFF

print'Using NOT IN Clause '

SELECT ID, City

FROM BigTable

WHERE ID NOT IN

(SELECT ID

FROM 9Table) GO

print 'Использование NOT Exists Clause'

SELECT ID, City

FROM BigTable

WHERE NOT EXISTS

(SELECT ID

FROM SmallTable

WHERE SmallTable.ID = BigTable.ID)

GO

Распечатать 'Using LEFT JOIN'

SELECT bt.ID, bt.City

FROM BigTable bt

LEFT JOIN SmallTable st ON bt.ID = st.ID

WHERE .ID IS NULL

GO

Конечно, вы получите одинаковое количество записей для каждой

Но давайте посмотрим на планы выполнения:

В этом конкретном случае есть столбец NULLable.

И здесь NOT IN фактически получает все значения из таблицы. Вот почему NOT IN намного дороже. Даже при переключении таблиц NOT IN по-прежнему будет самым дорогостоящим запросом.

Сводка

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


Я сертифицированный эксперт по решениям Microsoft®: Data Management Analytics Plus Microsoft® Certified Solutions Expert Data Platform (MCSE). Для получения дополнительной информации проверьте это здесь.

Живя в Египте, работал старшим администратором базы данных Microsoft SQL Server более 4 лет.

Как администратор баз данных, я проектирую, устанавливаю, обслуживаю и обновляю все базы данных (производственные и непроизводственные среды), у меня есть практические знания о производительности T-SQL, проблемах производительности HW, репликации SQL Server, решениях для кластеризации и проектах баз данных для разные виды систем.Я работал со всеми версиями SQL Server (2008, 2008R2, 2012, 2014 и 2016).

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

Посмотреть все сообщения от Ayman Elnory

Последние сообщения от Ayman Elnory (посмотреть все)

Отслеживание и настройка запросов с использованием индексов SQL Server

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

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

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

Администраторы баз данных должны балансировать между созданием слишком большого количества индексов и слишком малого количества индексов. Например, нет необходимости индексировать каждый столбец по отдельности или включать столбец во множество перекрывающихся индексов. Они также должны учитывать, что индекс, который повысит производительность запросов SELECT, также замедлит различные операции DML, такие как запросы INSERT, UPDATE и DELETE.

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

Давайте начнем нашу демонстрацию, чтобы понять концепцию настройки производительности на практике. Мы создадим новую базу данных IndexDemoDB, содержащую три таблицы; таблица STD_Info, содержащая информацию о студентах, таблица Courses, содержащая список доступных курсов, и, наконец, таблица STD_Evaluation, которая содержит оценки зарегистрированных студентов по доступным курсам. Таблица STD_Evaluation содержит два внешних ключа; идентификатор студента, который ссылается на таблицу STD-Info, и идентификатор курса, который ссылается на таблицу Courses.Приведенный ниже сценарий T-SQL используется для создания базы данных и таблиц, как описано:

1

2

3

4

5

6

7

8

9

10

11

12

13

140002

18

19

20

21

22

23

24

25

26

СОЗДАТЬ БАЗУ ДАННЫХ IndexDemoDB

GO

СОЗДАТЬ ТАБЛИЦУ STD_Info

(STD_ID INT IDENTITY (1,1) ПЕРВИЧНЫЙ КЛЮЧ,

STD_Name VARCHAR (50),

_AD

_STD_BirthDate

_STD_BirthDate

GO

CREATE TABLE Курсы

(Course_ID INT IDENTITY (1,1) PRIMARY KEY,

Course_Name VARCHAR (50),

Course_MaxGrade INT

)

GO

STABLE EV_ID INT IDENTITY (1,1),

STD_ID INT,

Course_ID INT,

STD_Course_Grade INT,

CONSTRAINT FK_STD_Evaluation_STD_Info ИНОСТРАННЫЙ КЛЮЧ (STD_ID_ID)

FOREIGN KEY (STD_ID_ID)

ССЫЛКИ Курсы (Course_ID)

)

После создания базы данных и таблиц без индекса или ключа, определенного в таблице STD_Evaluation, мы заполним каждую таблицу 100 КБ записями, используя ApexSQL Generate, как показано ниже:

Настройка простого запроса

Чтение из таблицы, у которой нет индекса, похоже на поиск слова в книге путем изучения каждой отдельной страницы в этой книге.Если вы попытаетесь выполнить приведенный ниже запрос SELECT для извлечения данных из таблицы STD_Evaluation после включения статистики TIME и IO и включения плана выполнения, используя оператор T-SQL ниже:

SET STATISTICS TIME ON

SET STATISTICS IO ON

GO

SELECT * FROM [dbo]. [STD_Evaluation] WHERE STD_ID <1530

Из плана выполнения, созданного после выполнения запроса, вы увидите, что SQL Server выполнит операцию сканирования таблицы для этой таблицы, изучив все строки таблицы, чтобы проверить, достигают ли эти строки условия WHERE, как показано в плане выполнения ниже:

Вы также можете видеть из статистики TIME и IO, что запрос выполняется в течение 655 мс, потребляя 94 мс из процессорного времени, как показано ниже:

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

Если мы посмотрим на поверхность предыдущего запроса SELECT и решим добавить индекс в столбец STD_ID, упомянутый в предложении WHERE этого запроса, используя оператор CREATE INDEX T-SQL ниже:

СОЗДАТЬ НЕЗАКЛЮЧЕННЫЙ ИНДЕКС IX_STD_Evaluation_STD_ID НА [STD_Evaluation] (STD_ID)

Затем выполните тот же оператор SELECT:

ВЫБРАТЬ * ИЗ [dbo].[STD_Evaluation] ГДЕ STD_ID <1530

Из плана выполнения, созданного после выполнения запроса, вы увидите, что SQL Server снова выполняет операцию сканирования таблицы, чтобы получить данные из этой таблицы без учета созданного индекса, как показано в плане выполнения ниже:

Проверяя ВРЕМЯ и статистику ввода-вывода запроса, вы увидите, что необходимое время и время ЦП, затраченное на выполнение запроса, не очень далеко от предыдущего оператора SELECT без индексов, с небольшими улучшениями, как показано ниже:

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

Давайте еще раз посмотрим на предыдущий план выполнения, вы увидите зеленое сообщение от SQL Server, которое рекомендует индекс для повышения производительности этого запроса на 77,75%. Щелкните правой кнопкой мыши этот план выполнения и выберите параметр «Сведения об отсутствующем индексе», чтобы отобразить предлагаемый индекс, как показано ниже:

То же предложение индекса можно также найти, запросив файл sys.dm_db_missing_index_details динамическое представление управления, которое возвращает подробную информацию об отсутствующих индексах, за исключением пространственных индексов, как показано ниже:

ВЫБРАТЬ * ИЗ sys.dm_db_missing_index_details

Предыдущий запрос предложит тот же индекс покрытия, с STD_ID, который используется в предложении WHERE запроса в качестве ключа индекса, а остальные возвращенные столбцы в операторе SELECT, столбцы EV_ID, Course_ID и STD_Course_Grade в качестве неключевых столбцов. в предложении INCLUDE оператора создания индекса, показанного ниже:

Мы отбросим неверный индекс, созданный ранее, и создадим новый индекс, предложенный SQL Server, используя сценарий T-SQL ниже:

ИСПОЛЬЗОВАТЬ [IndexDemoDB]

GO

DROP INDEX IX_STD_Evaluation_STD_ID ON [STD_Evaluation]

GO

CREATE NONCLUSTERED INDEX [IX_STD_Evaluation_STD

ON] [IX_STD_Evaluation_STD

ON][STD_Evaluation] ([STD_ID])

ВКЛЮЧИТЬ ([EV_ID], [Course_ID], [STD_Course_Grade])

GO

Если вы попытаетесь выполнить тот же оператор SELECT:

ВЫБРАТЬ * ИЗ [dbo]. [STD_Evaluation] ГДЕ STD_ID <1530

Затем проверьте план выполнения, сгенерированный после выполнения запроса, вы увидите, что SQL Server выполнит операцию поиска индекса для извлечения данных пользователю, как показано ниже:

Статистика TIME и IO покажет, что время, необходимое для выполнения запроса, уменьшилось с 655 мс до 554 мс с увеличением примерно на 15% после добавления индекса, а потребляемое время ЦП уменьшилось с 94 мс до 31 мс, с увеличением примерно на 67% при использовании индекс.Вы можете представить себе улучшение, которое можно получить в случае больших таблиц, как показано ниже:

Предыдущий некластеризованный индекс создается над таблицей кучи. Мы отбросим ранее созданный некластеризованный индекс, создадим кластерный индекс в столбце EV_ID, а затем снова создадим некластеризованный индекс, используя сценарий T-SQL ниже:

DROP INDEX IX_STD_Evaluation_STD_ID ON [STD_Evaluation]

GO

СОЗДАТЬ КЛАСТЕРИРОВАННЫЙ ИНДЕКС IX_Evaluation_EV_ID ON [STD_Evaluation] ([EV_ID])

GO

_Evaluation 9000US

GO_Evaluation

ONSTEDATE ND

ON[STD_Evaluation] ([STD_ID])

ВКЛЮЧИТЬ ([EV_ID], [Course_ID], [STD_Course_Grade])

Напомним, что мы упоминали в предыдущих статьях этой серии, что некластеризованный индекс будет автоматически перестроен при создании кластерного индекса для таблицы, чтобы указывать на кластерный ключ вместо указания на базовую таблицу. Если мы снова выполним тот же оператор SELECT:

ВЫБРАТЬ * ИЗ [dbo].[STD_Evaluation] ГДЕ STD_ID <1530

Вы увидите, что тот же план выполнения будет создан без каких-либо изменений по сравнению с предыдущим, как показано ниже:

Кроме того, статистика ВРЕМЕНИ и ввода-вывода покажет, что время, необходимое для выполнения запроса, и время ЦП, потребляемое запросом, чем-то похоже на предыдущий результат, с небольшим улучшением в сокращении операций ввода-вывода, выполняемых для извлечения данных из-за для работы с небольшой таблицей, как показано ниже:

Вы также можете подумать о замене некластеризованного индекса кластеризованным индексом в столбце STD_ID, учитывая, что кластерный индекс не содержит предложения INCLUDE.Если мы отбросим все индексы, доступные в этой таблице, и заменим его только одним кластеризованным индексом, используя сценарий T-SQL ниже:

DROP INDEX IX_STD_Evaluation_STD_ID ON [STD_Evaluation]

GO

DROP INDEX IX_Evaluation_EV_ID ON [STD_Evaluation]

GO

CREATE CLUSTERED INDEX_ IX_Evaluation [STD_Evaluation] [STD_Evaluation]

Затем выполните тот же оператор SELECT:

ВЫБРАТЬ * ИЗ [dbo].[STD_Evaluation] ГДЕ STD_ID <1530

Из сгенерированного плана выполнения вы увидите, что для получения запрошенных данных будет выполнена операция поиска по кластеризованному индексу, как показано ниже:

Без заметного улучшения статистики ВРЕМЕНИ и ввода-вывода, генерируемой при выполнении запроса, в случае нашей небольшой таблицы, как показано ниже:

Настройка сложного запроса

Давайте теперь попробуем настроить выполнение более сложного запроса, который возвращает имя студента, название курса, максимальную оценку за курс и, наконец, оценку студента в этом классе, объединив три ранее созданных таблицы вместе на основе общих столбцов между каждыми двумя таблицами, принимая во внимание, что таблица STD_Evaluation не имеет индекса, как показано в инструкции SELECT ниже:

SELECT ST.[STD_Name], C. [Course_Name], C. [Course_MaxGrade], EV. [STD_Course_Grade]

ОТ [dbo]. [STD_Info] ST

JOIN [dbo]. [STD_Evaluation] EV

ON ST.STD_ID = EV. [STD_ID]

JOIN [dbo]. [Courses] C

ON C.Course_ID = EV.Course_ID

ГДЕ ST. [STD_ID]> 1500 И C.Course_ID> 320

Если вы проверите план выполнения, созданный после выполнения запроса, вы увидите, что из-за того, что STD_Evaluation не имеет индекса, SQL Server будет сканировать все записи таблицы STD_Evaluation для поиска строк, соответствующих условию предложения WHERE, путем выполнение операции сканирования таблицы.Кроме того, в плане выполнения будет отображаться зеленое сообщение, показывающее предлагаемый индекс от SQL Server для повышения производительности запроса, как показано ниже:

Щелкните правой кнопкой мыши этот план выполнения и выберите параметр «Сведения об отсутствующем индексе», чтобы отобразить предлагаемый индекс. Оператор T-SQL, который используется для создания нового индекса, с процентом улучшения производительности, который здесь составляет 82%, будет отображаться в появившемся окне, как показано ниже:

Статистика ВРЕМЕНИ и ввода-вывода, сгенерированная при выполнении предыдущего запроса, показывает, что SQL Server выполняет 310 логических операций чтения в течение 65 мсек и потребляет 16 мсек из времени ЦП для извлечения данных, как показано ниже:

То же предложение индекса можно также найти, запросив файл sys.dm_db_missing_index_details динамическое представление управления, которое возвращает подробную информацию об отсутствующих индексах, за исключением пространственных индексов, как показано ниже:

Производительность запроса также можно настроить с помощью комбинации инструментов профилировщика SQL Server и помощника по настройке ядра СУБД. Щелкните правой кнопкой мыши запрос, который вам удалось настроить, и выберите параметр Trace Query in SQL Server Profiler, как показано ниже:

Будет отображен новый сеанс SQL Server Profiler.Когда вы выполняете настраиваемый запрос, статистика запроса будет захвачена в открытом сеансе SQL Server Profiler, как показано на снимке ниже:

Сохраните предыдущую трассировку, чтобы использовать ее в качестве рабочей нагрузки для помощника по настройке ядра СУБД. В меню «Инструменты» среды SQL Server Management Studio выберите параметр «Помощник по настройке ядра СУБД», как показано ниже:

В открывшемся окне помощника по настройке ядра СУБД подключитесь к целевому SQL-серверу, базе данных, из которой запрос будет извлекать данные, и, наконец, выделите файл рабочей нагрузки, содержащий трассировку запроса, затем щелкните

как показано ниже:

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

Если мы возьмем оператор CREATE INDEX, предоставленный из предыдущего плана выполнения или из отчета помощника по настройке ядра СУБД, и создадим предложенный индекс для повышения производительности запроса, как в операторе T-SQL ниже:

ИСПОЛЬЗОВАТЬ [IndexDemoDB]

GO

СОЗДАТЬ НЕКЛЮЧЕНЫЙ ИНДЕКС [IX_STD_Evaluation_Course_ID]

ON [dbo].[STD_Evaluation] ([STD_ID], [Course_ID])

ВКЛЮЧИТЬ ([STD_Course_Grade])

GO

Затем выполните тот же оператор SELECT:

ВЫБРАТЬ СТ. [STD_Name], C. [Course_Name], C. [Course_MaxGrade], EV. [STD_Course_Grade]

FROM [dbo]. [STD_Info] ST

JOIN [dbo]. [STD_Evaluation] EV

ВКЛ ST.STD_ID = EV. [STD_ID]

СОЕДИНЕНИЕ [dbo].[Курсы] C

НА C.Course_ID = EV.Course_ID

ГДЕ ST. [STD_ID]> 1500 И C.Course_ID> 320

Из сгенерированного плана выполнения вы увидите, что предыдущая медленная операция сканирования таблицы изменилась на быструю операцию поиска индекса, как показано ниже:

Статистика ВРЕМЕНИ и ввода-вывода также показывает, что после создания предложенного индекса SQL Server выполняет только 3 логических операции, по сравнению с 310 логическими операциями чтения перед созданием индекса, с примерно 91% улучшением в пределах 40 мс по сравнению с 65 мс, необходимыми для выполнения. запрос перед созданием индекса с улучшением примерно на 39% и без использования процессорного времени по сравнению с 16 мс, затраченными до создания индекса, как четко показано ниже:

Предыдущий некластеризованный индекс создается над таблицей кучи.Мы отбросим ранее созданный некластеризованный индекс, создадим кластерный индекс в столбце EV_ID, а затем снова создадим некластеризованный индекс, используя сценарий T-SQL ниже:

ИСПОЛЬЗОВАНИЕ [IndexDemoDB]

GO

DROP INDEX [IX_STD_Evaluation_Course_ID]

ON [dbo]. [STD_Evaluation]

GO

EVID 9_Evaluation [STD_Evaluation] [9_Evaluation] [9_Evaluation] GO_EX3 9_Evaluation [ON] [9_Evaluation]

СОЗДАТЬ НЕКЛАССНЫЙ ИНДЕКС [IX_STD_Evaluation_Course_ID]

ON [dbo].[STD_Evaluation] ([STD_ID], [Course_ID])

ВКЛЮЧИТЬ ([STD_Course_Grade])

GO

Если вы снова выполните тот же оператор SELECT:

ВЫБРАТЬ СТ. [STD_Name], C. [Course_Name], C. [Course_MaxGrade], EV. [STD_Course_Grade]

FROM [dbo]. [STD_Info] ST

JOIN [dbo]. [STD_Evaluation] EV

ВКЛ ST.STD_ID = EV. [STD_ID]

СОЕДИНЕНИЕ [dbo].[Курсы] C

НА C.Course_ID = EV.Course_ID

ГДЕ ST. [STD_ID]> 1500 И C.Course_ID> 320

Будет сгенерирован тот же план выполнения, как показано ниже:

Кроме того, статистика TIME и IO покажет небольшое увеличение количества логических чтений и времени, необходимого для выполнения запроса, поскольку мы работаем с небольшой таблицей, как показано ниже:

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

В ранее созданном индексе порядок сортировки столбцов STD_ID и Course_ID является порядком сортировки ASC по умолчанию. Если мы изменим запрос SELECT для сортировки возвращаемых строк на основе столбцов STD_ID и Course_ID DESC, что полностью противоположно порядку столбцов в индексе, как показано в запросе T-SQL ниже:

SELECT ST.[STD_Name], C. [Course_Name], C. [Course_MaxGrade], EV. [STD_Course_Grade]

ОТ [dbo]. [STD_Info] ST

JOIN [dbo]. [STD_Evaluation] EV

ON ST.STD_ID = EV. [STD_ID]

JOIN [dbo]. [Courses] C

ON C.Course_ID = EV.Course_ID

ГДЕ ST. [STD_ID]> 1500 И C.Course_ID> 320

ORDER BY ST. [STD_ID ] DESC, C. [Course_ID] DESC

Из сгенерированного плана выполнения вы увидите, что ничего не изменится, за исключением направления сканирования некластеризованного индекса, которое будет иметь значение «Назад», которое можно просмотреть в окне свойств узла поиска индекса.Это означает, что вместо того, чтобы читать индекс сверху вниз, SQL Server будет читать данные из этого индекса снизу вверх без необходимости повторной сортировки данных, как четко показано ниже:

С минимальными накладными расходами при обратном чтении статистика показана ниже:

Все будет иначе, если изменить запрос для извлечения строк в порядке, очень далеком от порядка сортировки в ключе индекса.Например, если мы изменим запрос SELECT для извлечения данных, отсортированных на основе столбца STD_ID в порядке ASC и на основе столбца Course_ID в порядке DESC, как показано в инструкции T-SQL ниже:

ВЫБРАТЬ СТ. [STD_Name], C. [Course_Name], C. [Course_MaxGrade], EV. [STD_Course_Grade]

FROM [dbo]. [STD_Info] ST

JOIN [dbo]. [STD_Evaluation] EV

ВКЛ ST.STD_ID = EV. [STD_ID]

СОЕДИНЕНИЕ [dbo].[Курсы] C

НА C.Course_ID = EV.Course_ID

ГДЕ ST. [STD_ID]> 1500 И C.Course_ID> 320

ЗАКАЗ ПО ST. [STD_ID] ASC, C. [Course_ID] DESC

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

Из статистики TIME видно, что дорогостоящая операция сортировки заметно замедлит выполнение запроса.Вот почему мы постоянно говорим, что действительно важно соответствовать порядку сортировки столбцов в индексе и запросу, который получит выгоду от этого индекса. Дополнительные временные затраты на операцию сортировки четко показаны ниже:

Здесь важно отметить, что индексирование столбцов по отдельности может быть не оптимальным решением для повышения производительности запроса. Предположим, что мы планируем проиндексировать столбцы STD_ID и Course_ID, которые используются в условиях WHERE и JOIN в предыдущем запросе, принимая во внимание, что таблица STD_Evaluation не имеет созданного индекса, используя сценарий T-SQL ниже:

СОЗДАТЬ НЕЗАКЛЮЧЕННЫЙ ИНДЕКС [IX_STD_Evaluation_STD_ID]

ВКЛ [dbo].[STD_Evaluation] ([STD_ID])

GO

СОЗДАТЬ НЕЗАКЛЮЧЕННЫЙ ИНДЕКС [IX_STD_Evaluation_Course_ID]

ON [dbo]. [STD_Evaluation] (Course_ID)

GO

Если вы выполните тот же оператор SELECT:

ВЫБРАТЬ СТ. [STD_Name], C. [Course_Name], C. [Course_MaxGrade], EV. [STD_Course_Grade]

ИЗ [dbo]. [STD_Info] ST

JOIN [dbo].[STD_Evaluation] EV

ON ST.STD_ID = EV. [STD_ID]

JOIN [dbo]. [Courses] C

ON C.Course_ID = EV.Course_ID

ГДЕ ST. [STD_ID]> 1500 И C. Course_ID> 320

Из плана выполнения, сгенерированного после выполнения запроса, вы увидите, что созданные индексы не покрывают предыдущий запрос, который требует от SQL Server выполнения дополнительной операции поиска ключа для получения остальных столбцов, которые не включены в созданный индексы из базовой таблицы, как показано ниже:

А дорогостоящие затраты на операцию поиска ключа будут переведены в дополнительные ВРЕМЯ затраты, как показано в статистике ниже:

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

Содержание

Ахмад Ясин (Ahmad Yaseen) - инженер Microsoft по большим данным с глубокими знаниями и опытом в областях SQL BI, администрирования баз данных SQL Server и разработки.

Он является сертифицированным специалистом по решениям Microsoft в области управления данными и аналитикой, сертифицированным партнером по решениям Microsoft в области администрирования и разработки баз данных SQL, партнером разработчика Azure и сертифицированным инструктором Microsoft.

Кроме того, он публикует свои советы по SQL во многих блогах.

Посмотреть все сообщения от Ahmad Yaseen

Последние сообщения от Ahmad Yaseen (посмотреть все)

, что можно и чего нельзя делать при индексировании | IT Pro

Индексирование - настолько обширная тема, что понять, что делать и чего не делать при разработке стратегии индексирования, может быть сложно. Вы создаете индексы, чтобы сократить время ответа на запрос. Но индексация - это баланс.

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

Индексировать столбцы первичного и уникального ключей

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

Индексируйте столбец внешнего ключа

Если таблица содержит один или несколько столбцов внешнего ключа, которые ссылаются на другие таблицы, вам необходимо проиндексировать эти столбцы. Столбцы внешнего ключа обычно неуникальны, потому что они находятся на стороне «многие» в отношении «один ко многим» (1: M). Следовательно, вы ожидаете увидеть повторяющиеся значения в столбце внешнего ключа каждый раз, когда одна строка в главной таблице (на стороне «один») связана с двумя или более строками в таблице сведений (на стороне «многие»). Вам нужно создать уникальный индекс для столбца внешнего ключа, только если вы обеспечиваете обязательную взаимно-однозначную (1: 1) связь между двумя таблицами.При соотношении 1: 1 значения в столбце внешнего ключа представляют собой уникальный набор, соответствующий значениям первичного ключа в главной таблице. Когда столбец внешнего ключа в таблице индексируется, SQL Server может сканировать индексы для нужных ему строк вместо сканирования обеих таблиц.

Рассмотрите возможность использования индекса покрытия для запросов, возвращающих несколько столбцов

Покрывающий индекс содержит все столбцы во всех частях запроса, включая предложения FROM и WHERE. Если SQL Server может сканировать индекс, чтобы найти нужные данные, ему не нужно читать связанные страницы данных.Следовательно, производительность запросов улучшается. Например, в таблице авторов в базе данных Pubs индекс непонимания состоит из фамилии автора (au_lname) и имени автора (au_fname). Обычно, если в запросе не указано иное, SQL Server выбирает, использовать ли индекс. Когда вы работаете с крошечными таблицами - таблицами, которые умещаются на одной или двух страницах (8 КБ блоков пространства на жестком диске), - SQL Server выберет сканирование таблицы вместо использования индекса. Для небольших таблиц сканирование таблицы (которое требует только одного доступа к жесткому диску) менее затратно, чем чтение индекса, определение местоположения строк данных, а затем чтение строк данных (что требует двух обращений к жесткому диску).Но для запроса типа

 ВЫБРАТЬ au_lname, au_fname ОТ АВТОРОВ

 

SQL Server может использовать покрывающий индекс для построения набора результатов даже для крошечной 24-строчной таблицы авторов, как показано на экране 1. Для получения дополнительной информации о разработке индексов для повышения производительности запросов см. Kalen Delaney, Inside SQL Server, «9 Burning Questions», октябрь 2002 г.

Рассмотрите возможность использования кластерного индекса для больших таблиц и запросов диапазона значений

Кластерный индекс определяет порядок хранения записей на диске.Таблица авторов кластеризована по au_id, поэтому au_id является кластеризованным ключом. Если вы запрашиваете таблицу авторов без указания критериев упорядочения, как показано ниже:

 ВЫБРАТЬ * ОТ авторов 

Результаты могут отображаться в порядке кластеризации ключей (например, наименьшее значение au_id может отображаться вверху списка, как показано на экране 2). В SQL Server 7.0 и более поздних версиях порядок набора результатов может варьироваться в зависимости от стратегии извлечения, которую выбирает оптимизатор запросов. Поэтому не рассчитывайте на упорядочивание записей.Вместо этого используйте в своих запросах опцию ORDER BY. Однако, если у вас большая таблица, особенно таблица, которую вы часто запрашиваете, используя условие диапазона значений для кластерного ключа (например, WHERE au_id между '400-00-0000' и '499-99-9999' ) производительность запроса улучшится при использовании кластерного индекса. Если вы присоедините эту таблицу к другим таблицам и кластерный ключ также является объединенным столбцом, производительность запроса JOIN может быть лучше, чем если бы запрос выполнял соединение без кластеризованного индекса.

Выполнять индексную сортировку, группировку и агрегирование столбцов

Вам также необходимо подумать об индексировании столбцов, которые вы используете для сортировки, и тех, которые вы используете в выражении группировки. Вы можете получить выгоду от индексации столбцов, которые функции MIN (), MAX (), COUNT (), SUM () и AVG () используют для агрегирования данных. Когда вы используете функции MIN () и MAX (), SQL Server выполняет простой поиск минимального и максимального значений в столбце соответственно. Если значения данных индекса расположены в порядке возрастания, SQL Server может прочитать индекс, чтобы быстро определить правильные значения MIN () или MAX ().Запрос диапазона значений включает фильтр или ограничение (выраженное в предложении WHERE или HAVING запроса SELECT) для ограничения строк, возвращаемых запросом. Точно так же, когда у вас есть индекс, вы можете оптимизировать сортировку данных (с помощью предложения ORDER BY) и группировку данных (с помощью предложения GROUP BY), особенно если запрашиваемая таблица или таблицы содержат много строк.

Рассмотрим DSS

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

И DSS не обязательно должен быть доступен только для чтения: вы можете создавать представления в DSS, которые предназначены для облегчения написания отчетов и которые из-за своей сложности делают данные, просматриваемые в представлении, как если бы они считывались - Только. При реализации DSS вы можете снять нагрузку с транзакционной базы данных путем анализа наиболее часто выполняемых запросов, создания покрывающих индексов для таблиц и создания эффективных индексированных представлений для данных.

Не чрезмерно индексируйте транзакционные таблицы с интенсивным вводом-выводом

Таблица транзакций - это таблица в базе данных оперативной обработки транзакций (OLTP). Вы можете использовать транзакционные таблицы для отчетов или в качестве входных данных для программ, экспортирующих данные (например, в запросе SELECT ... FOR XML). Однако основной целью базы данных OLTP является сбор данных, и если вы переиндексируете транзакционную таблицу, вы можете снизить производительность операций INSERT, UPDATE и DELETE. Каждый индекс представляет собой структуру базы данных - таблицу, содержащую столбец значений, упорядоченных в порядке возрастания, с закладками, указывающими на связанные строки на страницах данных.Следовательно, когда вы добавляете запись в транзакционную таблицу, операция INSERT выполняется не только на странице данных, но и во всех связанных индексах. А когда вы удаляете строку со страницы данных, SQL Server удаляет соответствующую строку из всех связанных индексов. Конечно, вам нужно создать несколько индексов для часто используемых OLTP-таблиц, но не переусердствуйте - операция UPDATE включает не только страницу данных, но также количество страниц индекса, которое соответствует количеству индексированных столбцов, которые вам нужно изменить.

Не индексировать широкие столбцы Если столбцы таблицы широкие (т. Е. Столбцы имеют тип данных char (25) или больше), индексы, созданные для этих столбцов, могут привести к большому количеству страниц, тем самым сводя на нет преимущество использования индекс в первую очередь. Некластеризованные индексы в SQL Server 2000 и 7.0 структурированы иначе, чем в более ранних версиях. Если вы не будете осторожны, вы можете создавать индексы, которые занимают больше места на диске, чем исходные страницы данных.

Меч обоюдоострый

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

Связанный: Пора дефрагментировать индексы?

Как создавать и оптимизировать индексы SQL Server для повышения производительности

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

Индекс - это копия информации из таблицы, которая ускоряет извлечение строк из таблицы или представления. Две основные характеристики индекса:

  • Меньше, чем таблица - это позволяет SQL Server быстрее выполнять поиск по индексу, поэтому, когда запрос попадает в конкретный столбец в нашей таблице и если этот столбец имеет индекс на нем, SQL Server может выбрать поиск по индексу, а не поиск по всей таблице, потому что индекс намного меньше, и поэтому его можно сканировать быстрее
  • Предварительно отсортировано - это также означает, что поиск может выполняться быстрее, потому что все уже предварительно отсортировано, например, если мы ищем некоторую строку, которая начинается с буквы «Z», SQL Server достаточно умен, чтобы начать поиск снизу. индекса, потому что он знает, где будут критерии поиска

Доступные типы указателей

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

  • Clustered - определяет, как данные записываются на диск, например. если таблица не имеет кластеризованного индекса, данные могут быть записаны в любом порядке, что затрудняет доступ к ним SQL Server, однако, если он присутствует, кластерный индекс сортирует и сохраняет строки данных таблицы или представления, обычно в в алфавитном порядке в числовом порядке. Итак, если у нас есть поле идентификатора с кластеризованным индексом, данные будут записаны на диск на основе номера этого идентификатора.Может быть только один способ, которым SQL Server может упорядочить данные физически на диске, и поэтому нам разрешен только один кластеризованный индекс для каждой таблицы. Важно знать, что кластеризованный индекс автоматически создается с первичным ключом.
  • Некластеризованный - это наиболее распространенный тип в SQL Server, обычно более одного в одной таблице. Максимальное количество некластеризованных индексов зависит от версии SQL Server, но это число, например, в SQL Server 2016 до 999 на таблицу.В отличие от кластеризованных индексов, которые фактически организуют данные, некластеризованный индекс немного отличается. Лучшей аналогией было бы думать об этом как о книге. Если мы перейдем к самому концу книги, обычно есть часть индексации, которая в основном содержит огромный список тем и указывает на то, на какой странице они находятся. Типичный сценарий: читатель находит тему / термин и указывает, например, к главе на странице 256. Если читатель переходит на эту страницу, искомая информация оказывается прямо там. Дело в том, чтобы найти его очень быстро, без необходимости просматривать всю книгу в поисках содержимого, и это в основном то, что делает некластеризованный индекс.
  • Columnstore - преобразует данные, которые обычно хранятся в столбцах, и преобразует их в строки, что позволяет ядру базы данных выполнять поиск быстрее.Они являются стандартом для хранения и запросов к большим таблицам фактов хранилищ данных.
  • Spatial - этот тип индекса дает возможность более эффективно выполнять определенные операции с пространственными объектами, такими как геометрия и география. Они несколько необычны за пределами специализированных ГИС-систем.
  • XML - в соответствии с названием, этот тип индекса связан с типом данных XML, и они преобразуют данные XML в табличный формат, что, опять же, позволяет выполнять поиск по ним быстрее.Есть два типа: первичный и вторичный. Первичный индекс необходим для создания вторичного индекса.
  • Full-text - обеспечивает эффективную поддержку сложного поиска слов и запросов на английском языке в данных символьной строки. Это единственный тип индекса, который позволяет нам выполнять запросы другого типа и находить слова, которые похожи друг на друга или разные формы слова, поэтому, например, если выполняется поиск по единственному слову, индекс также вернет множественное число указанного слова

Создание индекса

Итак, теперь, когда мы получили некоторые базовые знания и общее представление о том, какие индексы используются, давайте посмотрим несколько реальных примеров оптимизации индекса SQL Server с использованием SQL Server Management Studio (SSMS) для создания индекса и, что наиболее важно, более подробно рассмотрим некоторые из них. преимущества производительности индексов.

Перво-наперво нам нужно создать тестовую таблицу и вставить в нее некоторые данные. В следующем примере используется база данных AdventureWorks2014, но вы можете использовать любую базу данных еще и потому, что мы создаем новую таблицу, которую впоследствии можно будет удалить. Выполните приведенный ниже код, чтобы создать новую копию существующей таблицы Person.Address:

 ВЫБРАТЬ *
INTO Person.AddressIndexTest
ОТ Person.Address a; 

Мы только что создали новую таблицу под названием Person.AddressIndexTest и, выполнив запрос сверху, мы скопировали в него 19614 записей, но, в отличие от исходной таблицы, вновь созданная таблица не имеет абсолютно никаких индексов:

Поскольку в этой таблице нет индексов, если мы откроем ApexSQL Plan и посмотрим на план выполнения, это будет полное сканирование таблицы (сканирование всех строк из таблицы), строка за строкой, возвращая результат, который указанные в операторе Select:

Теперь давайте запросим новые данные в SSMS и посмотрим, как мы можем анализировать информацию, возвращаемую в таблице результатов.Перед анализом запросов и тестированием производительности рекомендуется использовать следующий код:

 КОНТРОЛЬНАЯ ТОЧКА;
ИДТИ
DBCC DROPCLEANBUFFERS;
DBCC FREESYSTEMCACHE ('ВСЕ');
GO 

CHECKPOINT и DBCC DROPCLEANBUFFERS просто создают чистое состояние системы. Он будет удалять как можно больше из кеша, потому что при тестировании производительности настоятельно рекомендуется каждый раз начинать с чистого состояния памяти. Таким образом, мы знаем, что какие-либо изменения в производительности не были вызваны кешированием некоторых данных, которые не были кэшированы при предыдущих запусках.

Другой частью того же запроса будет оператор Select, в котором мы возвращаем один столбец из только что созданной таблицы. Но, обернувшись вокруг оператора Select, давайте добавим SET STATISTICS IO для отображения информации, касающейся объема дисковой активности, генерируемой самими операторами T-SQL. Итак, когда мы выполняем оператор, он, конечно, вернет некоторые данные, но интересная часть - это когда мы переключаемся на вкладку Messages, где мы можем увидеть, как запрашивалась таблица под капотом:

Как видно, выполняется 339 логических операций чтения и столько же операций упреждающего чтения.Здесь важно знать, что представляют собой эти двое:

  • чтения с упреждающим чтением - это когда данные считываются с диска, а затем копируются в память (кеш) AKA disk activity
  • логических чтений - это когда данные читаются из кеша AKA memory activity

Более простой способ получить ту же информацию - получить фактический план выполнения только оператора Select в ApexSQL Plan, а затем переключиться на вкладку чтения ввода-вывода. Не забывайте всегда очищать кеш, иначе вы можете увидеть нулевое чтение с упреждающим чтением.Почему? Поскольку мы уже выполнили оператор Select один раз в SSMS, и после этого SQL Server обращается к данным из кеша:

Теперь давайте создадим индекс для таблицы, а затем снова запустим тот же запрос, и количество чтений должно быть меньше. Самый простой способ создать индекс - это перейти в обозреватель объектов, найти таблицу, щелкнуть ее правой кнопкой мыши, перейти к новому индексу и затем щелкнуть команду Некластеризованный индекс:

Это откроет окно Новый индекс, в котором мы можем нажать кнопку Добавить в правом нижнем углу, чтобы добавить столбец к этому индексу:

В этом примере нам нужно добавить в индекс только один столбец, и это тот, который указан в инструкции Select.Итак, выберите столбец таблицы AddressID и нажмите кнопку ОК, чтобы продолжить:

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

Как только это будет сделано, давайте запустим тот же самый запрос и снова посмотрим на операции ввода-вывода:

На этот раз мы получили 1 физическое, 13 логических и 11 операций упреждающего чтения, что значительно меньше, чем раньше.Обратите внимание, что мы получили точно такой же результат с гораздо меньшей активностью диска и доступом к кешу в рамках добавления одного индекса, и SQL Server выполнил запрос этого запроса, но сделал значительно меньше работы. Это почему? Что ж, мы можем взглянуть на несколько вещей, чтобы это объяснить. Во-первых, перейдем в обозреватель объектов, щелкните нашу таблицу правой кнопкой мыши и выберите «Свойства»:

Это откроет окно свойств таблицы, и если мы перейдем на страницу Хранилище, появится элемент пространства данных, который представляет размер данных в таблице в мегабайтах (в данном случае 2.68 МБ), и в первый раз, когда мы выполнили запрос без индекса, SQL Server должен был прочитать каждую строку в таблице, но индекс составляет всего 0,367 МБ. Итак, после того, как мы создали индекс, SQL Server мог выполнить тот же запрос, только прочитав индекс, потому что в этом случае индекс в 7,3 раза меньше, чем фактическая таблица:

Мы также можем посмотреть статистику. Статистика играет важную роль в мире производительности баз данных. После создания индекса SQL Server автоматически создает статистику.Вернитесь в обозреватель объектов, разверните таблицу, разверните папку «Статистика», щелкните правой кнопкой мыши статистику с тем же именем, что и ранее созданный индекс, и выберите «Свойства»:

Опять же, это откроет окно свойств статистики, в котором мы можем переключиться на страницу Details, на которой мы видим, что индекс разбит на разные диапазоны:

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

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

Индекс Columnstore

Индекс columnstore - это технология для хранения, извлечения и управления данными с использованием столбчатого формата данных, называемого columnstore.Создание индекса columnstore аналогично созданию обычного индекса. Разверните таблицу в обозревателе объектов, щелкните правой кнопкой мыши папку индекса, и вы увидите два элемента: кластеризованный и некластеризованный индекс хранилища столбцов:

Обе команды открывают одно и то же диалоговое окно нового индекса. Поэтому вместо того, чтобы показывать тот же процесс создания индексов другого типа, давайте посмотрим на существующие индексы Columnstore в нашей пробной базе данных. Теперь мне нравится выполнять запрос снизу к целевой базе данных, и он возвращает список всех индексов для всех пользовательских таблиц из этой базы данных:

 ЕГЭ AdventureWorks2014
ИДТИ
ВЫБЕРИТЕ DB_NAME () как Database_Name,
       sc.имя AS Schema_Name,
       o.name AS Table_Name,
       i.name AS Index_Name,
       i.type_desc AS Тип_индекса
ИЗ sys.indexes i
     ВНУТРЕННЕЕ СОЕДИНЕНИЕ sys.objects o ON i.object_id = o.object_id
     ВНУТРЕННЕЕ СОЕДИНЕНИЕ sys.schemas sc ON o.schema_id = sc.schema_id
ГДЕ i.name НЕ ПУСТО
      И o.type = 'U'
ЗАКАЗАТЬ ПО ИМЕНИ,
         Я печатаю; 

Сетка результатов показывает имя базы данных, имя схемы, имя таблицы, имя индекса и, что наиболее важно, тип индекса.Прокручивая список индексов вниз, найдите тот, который говорит о некластеризованном хранилище столбцов, и, как мы видим из приведенного ниже примера, он прикреплен к таблице SalesOrderDetail:

Затем давайте запустим запрос Select в ApexSQL Plan и снова не забудьте добавить контрольную точку для очистки буферов:

 КОНТРОЛЬНАЯ ТОЧКА;
ИДТИ
DBCC DROPCLEANBUFFERS;
DBCC FREESYSTEMCACHE ('ВСЕ');
ИДТИ
УСТАНОВИТЬ СТАТИСТИКУ IO ON;
ВЫБЕРИТЕ sod.SalesOrderID,
       sod.CarrierTrackingNumber
ОТ ПРОДАЖ.SalesOrderDetail sod OPTION (IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX);
ВЫКЛЮЧИТЬ СТАТИСТИКУ IO; 

В первый раз мы запустим его с возможностью игнорировать индекс columnstore. Идея заключается в том, чтобы увидеть, какую производительность мы получаем, когда игнорируем индекс, и, как показано ниже, мы получили: количество сканирований 1, 1246 логических чтений, 3 физических чтения и 1242 чтения с упреждающим чтением:

Мы уже знаем, что представляют собой эти операции ввода-вывода, но давайте просто закомментируем возможность игнорировать индекс columnstore и посмотрим, что произойдет:

Итак, на этот раз будет использоваться индекс, и вместо активности диска и памяти, которые мы имели ранее, на этот раз мы получили 218 логических операций чтения, 3 физических чтения и 422 операций чтения с упреждающим чтением:

Таким образом, мы снизились с 1200 операций упреждающего чтения до 400, что означает, что SQL Server выполняет на 66% меньше работы.

  • LOB читает - вы увидите их при чтении разных типов данных

Как это работает? Индекс columnstore принимает данные, которые обычно хранятся в столбцах, а вместо этого сохраняет их в строках. В этом случае мы искали информацию, хранящуюся в двух столбцах: SalesOrderID и CarrierTrackingNumber, но в таблице SalesOrderDetail есть 9 дополнительных столбцов. Без индекса columnstore SQL Server должен прочитать все подробности каждой строки, чтобы найти две указанные нами.Но с индексом columnstore данные хранятся в строках, а не в столбцах, и поэтому SQL Server должен только читать соответствующие строки и, кроме того, может игнорировать большой процент строк, что в конечном итоге дает нам значительное увеличение оптимизации индекса SQL Server, просто вызывая SQL Server делать меньше работы.

Изучить планы выполнения

Числа могут сбивать с толку, даже если мы знаем, что они обозначают. У ApexSQL Plan есть опция сравнения, которая позволяет сравнивать данные бок о бок, но мне нравится изучать планы выполнения и смотреть на несколько вещей, которые разбивают вещи, чтобы легко понять, что хорошо, а что плохо. даже для начинающего пользователя.

Итак, что я обычно делаю, так это редактирую текст запроса и выполняю два оператора Select в одном запросе, из которого один имеет возможность исключить индекс, а другой - это то, что SQL Server обычно выбирает для выполнения запроса. Таким образом, если мы наведем указатель мыши на первый оператор Select, появится всплывающая подсказка с кодом T-SQL. Как показано ниже, это заставляет план выполнения игнорировать индекс columnstore. Кроме того, он показывает общую стоимость запроса относительно пакета, которая в данном случае составляет 50%.Ниже мы также видим, что он сканирует кластерный индекс полностью или только в диапазоне:

Если мы перейдем к обычному оператору Select, обратите внимание, что стоимость запроса составляет всего 13,6%, что на 36,4% меньше. Глядя на план выполнения, мы также можем убедиться, что на этот раз использовался индекс columnstore. Кроме того, если мы просто посмотрим на столбцы, представляющие визуальный индикатор общей стоимости, стоимости ЦП и затрат ввода-вывода, мы сможем увидеть повышение производительности по этому запросу при наличии одного индекса:

Индексы Columnstore были введены в SQL Server 2014 с основным ограничением при добавлении индекса columnstore в таблицу, так как таблица станет доступной только для чтения.К счастью, Microsoft удалила это ограничение в SQL Server 2016, и, начиная с этой версии и более новых, у нас есть функции чтения и записи.

Я надеюсь, что эта статья была для вас информативной, и благодарю вас за то, что вы ее прочитали.

Дополнительные сведения о настройке индекса SQL Server см. В статьях о том, как оптимизировать производительность запросов SQL Server - часть 1 и часть 2.

Полезные ссылки

19 марта 2018 г.

SQL Indexing and SQL Performance Part 2: Clustered and Non-Clustered

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

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

 SELECT [computer_id], [nic_device_id], [nic_vendor_id], [nic_desc]
ОТ [eXpress].[dbo]. [nics] 

Вы собираетесь получить все компьютеры с computer_id> 5100. Сервер SQL должен будет просканировать всю таблицу, чтобы вернуть результаты без наличия индекса. Индекс в столбце computer_id ускорит этот процесс за счет сортировки значений столбца.

Теперь, если вы хотите вернуть все данные, где computer_id> 5100, сервер SQL будет знать, как найти первое значение больше 5100. Почему? Поскольку столбец computer_id отсортирован, устраняется необходимость сканировать всю таблицу, что повышает производительность.

Существует два основных типа индексов: кластерный индекс и некластеризованный индекс.

Кластерный индекс изменяет способ физического хранения строк. Когда вы создаете кластерный индекс для столбца (или ряда столбцов), сервер SQL сортирует строки таблицы по этому столбцу (столбцам).

Это похоже на словарь, где все слова отсортированы в алфавитном порядке. Обратите внимание, что для каждой таблицы может быть создан только один кластеризованный индекс. Это меняет способ физического хранения таблицы, иначе и быть не могло.

В приведенном ниже примере все строки отсортированы по идентификатору компьютера, поскольку был создан кластеризованный индекс в столбце идентификатора компьютера.

 СОЗДАТЬ КЛАСТЕРНЫЙ ИНДЕКС [IX_CLUSTERED_COMPUTER_ID]
ON [dbo]. [Nics] ([computer_id] ASC) 

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

Это похоже на указатель на последних страницах книги. Все ключевые слова отсортированы и содержат обратную ссылку на соответствующий номер страницы. Некластеризованный индекс в столбце computer_id в предыдущем примере будет выглядеть, как в таблице ниже:

 CREATE NONCLUSTERED INDEX [IX_NONCLUSTERED_COMPUTER_ID]
ON [dbo]. [Nics] ([computer_id] ASC) 
Computer_id Локатор строк
5000025 234
5000031 345
5000045
5000046 348
5000055 234
5000059 984

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

Как объяснялось выше, некластеризованный индекс содержит указатель на идентификатор строки (RID) таблицы, чтобы связать столбец индекса с остальными столбцами в строке.

Но это не всегда так:

Если кластерный индекс уже существует в таблице, некластеризованный индекс использует ключ кластеризованного индекса в качестве указателя строки вместо ссылки RID.

В приведенном ниже примере, когда некластеризованный индекс создается в столбце computer_id, а кластеризованный индекс уже существует в nic_desc, некластеризованный индекс будет выглядеть, как в таблице ниже.

3 
A кластерный индекс называется «таблицей кучи».В таблице кучи не отсортированы данные. Сервер SQL должен просканировать всю таблицу, чтобы найти данные, в процессе, называемом «сканированием».

В случае кластерного индекса данные сортируются по ключевым значениям (столбцам) индекса. SQL-сервер теперь может находить данные, переходя от корневого узла к ветви и, наконец, к конечным узлам структуры B-дерева индекса. Этот процесс называется «поиском». Более поздний подход намного быстрее, когда вы хотите отфильтровать или отсортировать данные, которые хотите получить.

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

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

Побочные эффекты индексов связаны со стоимостью операторов INSERT, UPDATE, MERGE и DELETE. При наличии индексов выполнение таких операторов может занять больше времени, поскольку они изменяют данные в таблице, а значит, и индексы.

Представьте себе ситуацию с оператором INSERT. Он должен добавить новые строки в таблицу с кластеризованным индексом. В таком случае может потребоваться перестановка строк таблицы! Помнить…? Кластерный индекс должен упорядочить сами страницы данных! Это вызовет накладные расходы.

Итак, крайне важно принять во внимание накладные расходы, связанные с операторами INSERT, UPDATE и DELETE, прежде чем разрабатывать свою стратегию индексирования. Несмотря на то, что вышеупомянутые операторы связаны с накладными расходами, вы должны учитывать, что во многих случаях оператор UPDATE или DELETE будет выполняться в подмножестве данных. Это подмножество можно определить с помощью предложения WHERE, где индексирование может перевесить дополнительные затраты на обновления индекса, поскольку серверу SQL придется найти данные перед их обновлением.

Как объяснялось выше, некластеризованный индекс включает ключ кластеризованного индекса в качестве локатора строки при наличии кластеризованного индекса в таблице.

Это имеет свои затраты и преимущества:

Стоимость связана с поиском закладок некластеризованного индекса. Что, если запрос должен возвращать больше столбцов, чем те, которые размещены в самом индексе? В случае таблицы HEAP сервер SQL должен будет проверить RID некластеризованного индекса, чтобы перейти непосредственно к строке, которой принадлежат остальные столбцы.

В случае кластеризованного индекса сервер SQL должен будет проверить указатель строк некластеризованного индекса, чтобы выполнить дополнительную навигацию к структуре B-дерева кластеризованного индекса, чтобы получить желаемую строку. .Видите ли, локатор строк содержит не RID, а ключ кластеризованного индекса.

С другой стороны, есть преимущество. Это связано с обновлениями кластерного индекса. Представьте себе следующую ситуацию: две новые строки со значениями ключа индекса A2 и A3 должны быть добавлены в кластерный индекс ниже.

Поскольку это страница кластерного индекса, ее физическая структура должна быть перераспределена, чтобы уместить A2 и A3 между A1 и A4. Он должен поддерживать порядок индекса.Поскольку на странице индекса нет свободного места для размещения этих изменений, произойдет разделение страницы. Теперь между A1 и A4 достаточно места, чтобы уместить A2 и A3.

Цель достигнута, и порядок поддерживается в индексе. Но представьте, что произошло бы, если бы некластеризованный индекс смотрел на RID, а не на ключ кластеризованного индекса? Ему придется изменить свои локаторы строк, чтобы отразить изменения. Это могло бы стать огромным хитом в производительности! Особенно в случае больших кластерных индексов.

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

Computer_id Локатор строк
5000025 VMware Accelerated AMD PCNet Adapter
5000031 Intel (R) PRO / 100 VE Сетевое подключение
5000045

Broadcom 42099 Broadcom 42099 100 Интегрированный контроллер
5000046 Гигабитный контроллер Broadcom NetXtreme 57xx
5000055 VMware Accelerated AMD PCNet Adapter
5000059 Broadcom 440x table 10/100 Интегрированный контроллер
КЛАСТЕРИРОВАННЫЕ НЕКЛАСТЕРНЫЕ
PROS
  • Быстрый возврат большого диапазона данных
  • Быстрый возврат предварительно отсортированных результатов
  • Широкие клавиши не отражаются на других индексах
  • Часто обновляемые ключевые столбцы не отражаются на других индексах
  • Может быть назначено в другой FileGroup
  • Множество некластеризованных индексов на таблицу
  • Меньший размер, чем кластерные индексы из-за подмножеств столбцов
CONS
  • Часто обновленные ключевые столбцы отражают некластеризованные индексы
  • Широкие ключи увеличивают размер некластеризованных индексов
  • Только один кластерный индекс на таблицу
  • Обычно медленнее, чем кластерные индексы из-за поиска по закладкам (за исключением покрывающих индексов ).
  • Не рекомендуется для возврата больших наборов данных (за исключением покрывающих индексов).

Новые изменения столбца только для метаданных в SQL Server 2016

Команда ALTER TABLE ... ALTER COLUMN очень мощная. Вы можете использовать его для изменения типа данных столбца, длины, точности, масштаба, допустимости значений NULL, сортировки ... и многих других вещей.

Это, безусловно, удобнее, чем альтернатива: создание новой таблицы и перенос данных каждый раз, когда необходимо изменение.Тем не менее, можно сделать лишь так много, чтобы скрыть основную сложность. Наряду с большим количеством ограничений на то, что даже возможно с этой командой, всегда есть вопрос производительности.

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

В зависимости от типа изменения и конфигурации базы данных команда ALTER COLUMN должна будет выполнить одно из следующих действий:

  1. Изменять метаданные только в системных таблицах.
  2. Проверьте все существующие данные на совместимость, затем измените метаданные.
  3. Перепишите некоторые или все сохраненные данные в соответствии с новым определением.

Вариант 1 представляет собой идеальный случай с точки зрения производительности.Для этого требуется всего несколько изменений в системных таблицах и минимальное ведение журнала. Операция по-прежнему потребует ограничительной модификации схемы Sch-M lock, но сами изменения метаданных завершатся очень быстро, независимо от размера таблицы.

Существует ряд особых случаев, на которые следует обратить внимание, но в целом следующие действия требуют изменения только метаданных:

  • Переход от NOT NULL к NULL для того же типа данных.
  • Увеличение максимального размера столбца varchar , nvarchar или varbinary (кроме max ).

Улучшения в SQL Server 2016

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

Новые возможности нацелены на подмножество типов данных фиксированной длины.Новые возможности применяются к таблицам хранения строк в следующих случаях:

  • Сжатие должно быть включено:
    • Во всех индексах и разделах, включая базовую кучу или кластеризованный индекс.
    • Сжатие либо ROW , либо PAGE .
    • Индексы и разделы могут использовать сочетание этих уровней сжатия. Важно то, что нет несжатых индексов или разделов.
  • Изменение с NULL на NOT NULL не допускается.
  • Поддерживаются следующие изменения целочисленного типа:
    • smallint до целое число или bigint .
    • целое число от до bigint .
    • smallmoney до money (внутреннее использование целочисленного представления).
  • Поддерживаются следующие изменения строковых и двоичных типов:
    • симв. (N) от до симв. (M) или симв. (M)
    • nchar (n) от до nchar (m) или nvarchar (m)
    • двоичный (n) от до двоичный (m) или двоичный (m)
    • Все вышеперечисленное только для n и m! = Max
    • Изменение параметров сортировки запрещено

Эти изменения могут относиться только к метаданным, поскольку базовый макет двоичных данных не изменяется при использовании формата строки дескриптора столбца (отсюда необходимость сжатия).Без сжатия в хранилище строк используется исходное представление FixedVar, которое не может вместить эти изменения типа данных фиксированной длины без переписывания физического макета.

Вы можете заметить, что tinyint отсутствует в списке целочисленных типов. Это связано с тем, что он беззнаковый, в то время как все другие целочисленные типы подписаны, поэтому изменение только метаданных невозможно. Например, значение 255 может поместиться в один байт для tinyint , но требует два байта в любом из форматов со знаком.Подписанные форматы могут содержать от -128 до +127 в одном байте при сжатии.

Целочисленный пример

Одно очень удобное применение этого улучшения - изменение типа данных столбца с помощью свойства IDENTITY .

Допустим, у нас есть следующая таблица кучи, использующая сжатие строк (сжатие страниц также будет работать):

 УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ dbo.Test;
ИДТИ
СОЗДАТЬ ТАБЛИЦУ dbo.Test
(
    id целое число IDENTITY NOT NULL,
    some_value целое НЕ NULL
)
С (DATA_COMPRESSION = ROW); 

Добавим 5 миллионов строк данных.Этого будет достаточно, чтобы было очевидно (с точки зрения производительности), является ли изменение типа данных столбца операцией только с метаданными:

 с номерами AS
(
    ВЫБРАТЬ
        n = ROW_NUMBER () OVER (ЗАКАЗАТЬ @@ SPID)
    ИЗ sys.all_columns КАК AC1
    ПЕРЕКРЕСТНОЕ СОЕДИНЕНИЕ sys.all_columns AS AC2
    ЗАКАЗАТЬ ПО n
    СМЕЩЕНИЕ 0 СТРОК
    ВЫБРАТЬ ТОЛЬКО ПЕРВЫЕ 5 * 1000 * 1000 РЯДОВ
)
ВСТАВИТЬ dbo.Test
    С (TABLOCKX)
(
    some_value
)
ВЫБРАТЬ
    N.n
ОТ номеров КАК N; 

Затем мы повторно установим IDENTITY , чтобы казалось, что у нас почти заканчиваются значения, которые подходят для целого числа :

 DBCC CHECKIDENT
(
    Н'дбо.Контрольная работа',
    RESEED,
    2147483646
); 

Мы можем успешно добавить еще одну строку:

 ВСТАВИТЬ dbo.Test
    (некоторое_значение)
ЗНАЧЕНИЯ
    (123456); 

Но пытаюсь добавить еще одну строку:

 ВСТАВИТЬ dbo.Test
    (некоторое_значение)
ЗНАЧЕНИЯ
    (7890); 

Выводит сообщение об ошибке:

Msg 8115, уровень 16, состояние 1, строка 1
Ошибка арифметического переполнения при преобразовании IDENTITY в тип данных int.

Мы можем исправить это, преобразовав столбец в bigint :

 ИЗМЕНИТЬ ТАБЛИЦУ dbo.Контрольная работа
ALTER COLUMN id bigint NOT NULL; 

Благодаря улучшениям в SQL Server 2016 эта команда изменяет только метаданные и выполняется немедленно. Предыдущий оператор INSERT (тот, который вызвал ошибку арифметического переполнения) теперь успешно завершается.

Эта новая возможность не решает всех проблем, связанных с изменением типа столбца со свойством IDENTITY . Нам все равно нужно будет отбросить и воссоздать все индексы в столбце, воссоздать все ссылающиеся внешние ключи и так далее.Это немного выходит за рамки этого поста (хотя Аарон Бертран уже писал об этом раньше). Возможность изменить тип как операцию только с метаданными, безусловно, не повредит. При тщательном планировании другие необходимые шаги можно сделать с максимальной эффективностью, например, используя операции с минимальным протоколированием или ОНЛАЙН операций.

Будьте осторожны с синтаксисом

Всегда указывайте NULL или NOT NULL при изменении типов данных с помощью ALTER COLUMN .Скажем, например, мы хотели также изменить тип данных столбца some_value в нашей тестовой таблице с integer NOT NULL на bigint NOT NULL .

При написании команды мы опускаем квалификатор NULL или NOT NULL :

 ИЗМЕНИТЬ ТАБЛИЦУ dbo.Test
ИЗМЕНИТЬ КОЛОНКУ some_value bigint; 

Эта команда успешно завершается как изменение только метаданных, но также удаляет ограничение NOT NULL . Столбец теперь имеет вид bigint NULL , чего мы не планировали.Такое поведение задокументировано, но его легко не заметить.

Мы можем попытаться исправить нашу ошибку с помощью:

 ИЗМЕНИТЬ ТАБЛИЦУ dbo.Test
ALTER COLUMN some_value bigint NOT NULL; 

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

В качестве примечания: эта же ошибка невозможна для столбцов со свойством IDENTITY . Если мы напишем оператор ALTER COLUMN без NULL или NOT NULL в этом случае, движок любезно предположит, что мы имели в виду NOT NULL , потому что свойство identity не разрешено для столбцов, допускающих значение NULL. По-прежнему неплохо не полагаться на такое поведение.

Всегда указывайте NULL или NOT NULL с ALTER COLUMN .

Сопоставление

Особая осторожность требуется при изменении строкового столбца, параметры сортировки которого не соответствуют значениям по умолчанию для базы данных.

Например, у нас есть таблица с сортировкой, учитывающей регистр и диакритические знаки (предположим, что значение по умолчанию в базе данных другое):

 УДАЛИТЬ ТАБЛИЦУ, ЕСЛИ СУЩЕСТВУЕТ dbo.Test2;
ИДТИ
СОЗДАТЬ ТАБЛИЦУ dbo.Test2
(
    id целое число IDENTITY NOT NULL,
    some_string char (8) COLLATE Latin1_General_100_CS_AS NOT NULL
)
С (DATA_COMPRESSION = ROW); 

Добавьте 5 миллионов строк данных:

 с номерами AS
(
    ВЫБРАТЬ
        n = ROW_NUMBER () OVER (ЗАКАЗАТЬ @@ SPID)
    ОТ sys.all_columns как AC1
    ПЕРЕКРЕСТНОЕ СОЕДИНЕНИЕ sys.all_columns AS AC2
    ЗАКАЗАТЬ ПО n
    СМЕЩЕНИЕ 0 СТРОК
    ВЫБРАТЬ ТОЛЬКО ПЕРВЫЕ 5 * 1000 * 1000 РЯДОВ
)
ВСТАВИТЬ dbo.Test2
    С (TABLOCKX)
(
    some_string
)
ВЫБРАТЬ
    ПРЕОБРАЗОВАТЬ (char (8), N.n) COLLATE Latin1_General_100_CS_AS
ОТ номеров КАК N; 

Удвойте длину строкового столбца, используя следующую команду:

 ИЗМЕНИТЬ ТАБЛИЦУ dbo.Test2
ALTER COLUMN some_string char (16) NOT NULL; 

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

Воссоздайте таблицу и данные, используя предыдущий сценарий, затем попробуйте снова выполнить команду ALTER COLUMN , но указав существующие параметры сортировки не по умолчанию как часть команды:

 ИЗМЕНИТЬ ТАБЛИЦУ dbo.Test2
ИЗМЕНИТЬ КОЛОНКУ some_string
    char (16) COLLATE Latin1_General_100_CS_AS NOT NULL; 

Теперь изменение завершается немедленно, как операция только с метаданными. Как и в случае с синтаксисом NULL и NOT NULL , во избежание случайностей стоит быть явным. Это хороший совет в целом, а не только для ALTER COLUMN .

Сжатие

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

Например, в следующей таблице не указано явное сжатие ни для первичного ключа, ни для определения встроенного индекса:

 СОЗДАТЬ ТАБЛИЦУ dbo.Test
(
    id целое число IDENTITY NOT NULL ПЕРВИЧНЫЙ КЛЮЧ,
    some_value целое НЕ NULL
        ИНДЕКС [IX dbo.Test some_value]
)
С (ДАННЫЕ_КОМПРЕССИИ = СТРАНИЦА); 

ПЕРВИЧНЫЙ КЛЮЧ будет иметь имя, по умолчанию КЛАСТЕРИРОВАН и СТРАНИЦА сжатая.Встроенный индекс будет иметь вид НЕКЛАСТЕРНЫЙ и вообще не сжатый. Эта таблица не будет включена ни для одной из новых оптимизаций, потому что не все индексы и разделы сжаты.

Намного лучшее и более точное определение таблицы было бы:

 СОЗДАТЬ ТАБЛИЦУ dbo.Test
(
    id целое число IDENTITY NOT NULL
        ОГРАНИЧЕНИЕ [PK dbo.Test id]
        ПЕРВИЧНЫЙ КЛЮЧ КЛАСТЕРИРОВАН
        С (DATA_COMPRESSION = PAGE),
    some_value целое НЕ NULL
        ИНДЕКС [IX dbo.Проверить some_value]
        НЕКЛАСТЕРНЫЙ
        С (DATA_COMPRESSION = ROW)
); 

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

Существует множество способов явного написания этого оператора CREATE TABLE , поэтому есть элемент личного предпочтения. Важный вывод - всегда четко указывать, чего вы хотите. Это также относится к отдельным операторам CREATE INDEX .

Расширенные события и флаг трассировки

Существует расширенное событие, специально предназначенное для новых операций только с метаданными ALTER COLUMN , поддерживаемых в SQL Server 2016 и далее.

Расширенное событие - compressed_alter_column_is_md_only в канале отладки. Его поля событий: object_id , column_id и is_md_only (true / false).

Это событие указывает только на то, является ли операция только с метаданными из-за новых возможностей SQL Server 2016.Изменения столбца, которые до 2016 года относились только к метаданным, будут отображать is_md_only = false , несмотря на то, что по-прежнему используются только метаданные.

Другие расширенные события, полезные для отслеживания операций ALTER COLUMN , включают metadata_ddl_alter_column и alter_column_event , оба в аналитическом канале.

Если вам необходимо отключить новые возможности SQL Server 2016 по какой-либо причине, можно использовать недокументированный глобальный (или запускающий) флаг трассировки 3618. Этот флаг трассировки не действует при использовании на уровне сеанса.Невозможно указать флаг трассировки на уровне запроса с помощью команды ALTER COLUMN .

Последние мысли

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

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

С включенным сжатием - это не все хорошие новости.Я упоминал ранее, что SQL Server иногда может выполнять изменение только метаданных после проверки того, что все существующие значения будут успешно преобразованы в новый тип. Это имеет место при использовании ALTER COLUMN для изменения, например, целого числа на smallint . К сожалению, в настоящее время эти операции не являются метаданными только для сжатых объектов.

Благодарности

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

Ни одна из деталей, приведенных в этой работе, не должна рассматриваться как официальная документация Microsoft или заявления о продукте.

.