Сравнительное тестирование работы PostgreSQL с большими страницами Linux

Публикация № 1089355

Администрирование - Производительность и оптимизация (HighLoad)

postgresql benchmark linux kernel

Представляю вашему вниманию перевод статьи Ibrar Ahmed "Benchmark PostgreSQL With Linux HugePages". Оригинал расположен по ссылке https://www.percona.com/blog/2018/12/20/benchmark-postgresql-with-linux-hugepages/

Ядро Linux предоставляет широкий спектр параметров конфигурации, которые могут повлиять на производительность. Это все о получении правильной конфигурации для вашего приложения и рабочей нагрузки. Как и любая другая база данных, PostgreSQL использует ядро Linux для оптимальной конфигурации. Плохо настроенные параметры могут привести к снижению производительности. Поэтому важно, чтобы вы измеряли производительность базы данных после каждого сеанса настройки, чтобы избежать снижения производительности. В одной из моих предыдущих публикаций, «Настройка параметров ядра Linux для оптимизации PostgreSQL», я описал некоторые наиболее полезные параметры ядра Linux и то, как они могут помочь вам повысить производительность базы данных. Теперь я собираюсь поделиться своими результатами тестов после настройки больших страниц Linux с другой рабочей нагрузкой PostgreSQL. Я выполнил исчерпывающий набор тестов для разных размеров загрузки PostgreSQL и одновременного количества клиентов.
 

Машина для тестирования

 

  • Supermicro server:
    • Intel® Xeon® CPU E5-2683 v3 @ 2.00GHz
    • 2 sockets / 28 cores / 56 threads
    • Memory: 256GB of RAM
    • Storage: SAMSUNG SM863 1.9TB Enterprise SSD
    • Filesystem: ext4/xfs
  • OS: Ubuntu 16.04.4, kernel 4.13.0-36-generic
  • PostgreSQL: version 11

 

Настройки ядра Linux


Я использовал настройки ядра по умолчанию без какой-либо оптимизации/настройки, кроме отключения прозрачных больших страниц (Transparent HugePages). Прозрачные большие страницы по умолчанию включены и выделяют размер страницы, который может быть не рекомендован для использования базой данных. Как правило, для баз данных требуются большие страницы фиксированного размера, которые не предусматриваются прозрачными большими страницами. Следовательно, всегда рекомендуется отключать эту функцию и использовать по умолчанию классические большие страницы.
 

Настройки PostgreSQL

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

postgresql.conf
shared_buffers = '64GB'
work_mem = '1GB'
random_page_cost = '1' 
maintenance_work_mem = '2GB'
synchronous_commit = 'on'
seq_page_cost = '1' 
max_wal_size = '100GB'
checkpoint_timeout = '10min'
synchronous_commit = 'on'
checkpoint_completion_target = '0.9'
autovacuum_vacuum_scale_factor = '0.4'
effective_cache_size = '200GB'
min_wal_size = '1GB'
wal_compression = 'ON'

 

Схема тестирования


В тестировании схема тестировании играет важную роль. Все тесты выполняются три раза по 30 минут для каждого запуска. Я взял среднее значение из этих трех показателей. Тесты проводились с использованием инструмента тестирования производительности PostgreSQL pgbench. pgbench работает с масштабным коэффициентом, при этом один масштабный коэффициент составляет приблизительно 16 МБ рабочей нагрузки.
 

Большие страницы (HugePages)

Linux по умолчанию использует страницы памяти 4 КБ вместе с большими страницами. У BSD есть Super Pages, тогда как у Windows есть Large Pages. PostgreSQL поддерживает только большие страницы (Linux). В случаях большого использования памяти маленькие страницы снижают производительность. Установив большие страницы, вы увеличиваете выделенную память для приложения и, следовательно, уменьшаете операционные издержки, которые возникают во время выделения/подкачки; то есть вы повышаете производительность, используя большие страницы.

Вот настройка больших страниц при использовании размера большой странцицы 1 ГБ. Вы всегда можете получить эту информацию из /proc.

$ cat /proc/meminfo | grep -i huge
AnonHugePages:         0 kB
ShmemHugePages:        0 kB
HugePages_Total:     100
HugePages_Free:       97
HugePages_Rsvd:       63
HugePages_Surp:        0
Hugepagesize:    1048576 kB


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

https://www.percona.com/blog/2018/08/29/tune-linux-kernel-parameters-for-postgresql-optimization/

Обычно размеры больших страницы составляют 2 МБ и 1 ГБ, поэтому имеет смысл использовать размер 1 ГБ вместо гораздо меньшего размера 2 МБ.

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/performance_tuning_guide/s-memory-transhuge
https://kerneltalks.com/services/what-is-huge-pages-in-linux/
 

Результаты тестов


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

Затем второй набор тестов был выполнен размером больших страниц в 2 MБ. Наконец, третий набор тестов выполняется с размером больших страниц 1 ГБ.

Все эти тесты были выполнены в PostgreSQL версии 11. Наборы включают в себя комбинацию разных размеров базы данных и клиентов. На приведенном ниже графике показаны сравнительные результаты производительности для этих тестов с TPS (транзакций в секунду) по оси Y, размером базы данных и количеством клиентов на размер базы данных по оси X.



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

Этот тест показывает TPS в сравнении с количеством клиентов. В этом случае размер базы данных составляет 48 ГБ. На оси Y у нас есть TPS, а на оси X у нас есть количество подключенных клиентов. Размер базы данных достаточно мал, чтобы поместиться в shared buffer, который установлен на 64 ГБ.



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

Следующий график такой же, как приведенный выше, за исключением размера базы данных 96 ГБ. Это превышает размер shared buffer, который установлен на 64 ГБ.



Ключевое наблюдение здесь заключается в том, что производительность с большими страницами, равными 1 ГБ, увеличивается по мере увеличения числа клиентов, и в конечном итоге она дает большую производительность, чем большие страницы в 2 МБ или стандартный размер страницы в 4 КБ.

Этот тест показывает TPS в зависимости от размера базы данных. В этом случае количество подключенных клиентов составляет 32. На оси Y у нас TPS, а на оси X — размеры базы данных.



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

Резюме


Одна из моих ключевых рекомендаций заключается в том, что мы должны отключить прозрачные большие страницы (Transparent HugePages). Вы увидите наибольший прирост производительности, когда база данных помещается в общий буфер с включенным большими страницами. Выбор размера больших страниц требует небольшого количества проб и ошибок, но это может потенциально привести к значительному увеличению TPS, когда размер базы данных велик, но остается достаточно маленьким, чтобы поместиться в shared buffer.

Источник Хабр

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Fox-trot 112 05.07.19 14:05 Сейчас в теме
ктонить уже опробовал? ждем фидбеков....
2. smilebringer 06.07.19 16:31 Сейчас в теме
Я конечно дилетант, но для меня графики показывают, что пока вся база влезает в оперативку, до 64 Гб, большие страницы работают быстрее. Это объяснимо, если данные в память загружаются по 1 Гб, это конечно быстрее чем 2 мб страница в 500 раз. Но когда база становится более размера буфера postgres, график показывает производительность ниже, чем стандартные страницы.

Поясните, кто в теме. База размером в 100 гигов, это ведь небольшая база
3. ansh15 06.07.19 17:41 Сейчас в теме
(2)
База размером в 100 гигов, это ведь небольшая база

Для сервера с размером оперативной памяти от 256 ГБ и выше - да.
когда база становится более размера буфера postgres, график показывает производительность ниже, чем стандартные страницы

Хороший повод добавить оперативной памяти в сервер.
База размером в 100 ГБ на сервере с 64 ГБ оперативной памяти или ниже - непомерная ноша.
4. smilebringer 06.07.19 20:47 Сейчас в теме
(3)
База размером в 100 ГБ на сервере с 64 ГБ оперативной памяти или ниже - непомерная ноша

Это исходя из каких источников такой вывод? Вы так рассуждает, как будто все данные базы или почти все должны помещаться в оперативную память
Fox-trot; +1 Ответить
5. ansh15 07.07.19 00:46 Сейчас в теме
(4) Здесь автор доклада тезисно декларирует:
Держать базу в памяти хорошо (любую хорошо, PostgreSQL совсем хорошо)
.
Другой автор также высказывает похожее мнение и, попутно, доступным языком рассказывает почему концепция "база в памяти" положительно сказывается на производительности СУБД(в нашем случае это PostgreSQL).
Я это мнение разделяю и, по возможности, использую в работе, благо такая возможность имеется.
Можно еще поискать на ИТС, может быть там тоже что-нибудь будет на эту тему.
6. Fox-trot 112 07.07.19 11:37 Сейчас в теме
(5)и разработчикам фейсбука сообщите
Оставьте свое сообщение

См. также

Анализ взаимоблокировок

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad) Технологический журнал

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

20.03.2020    1865    vasilev2015    21       

Онлайн-интенсив "1C:Предприятие для программистов: Бухгалтерские задачи" с 22 июня по 8 июля 2020 г. Промо

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

4900 рублей

Многопоточность

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Производительность и оптимизация (HighLoad)

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

18.03.2020    2523    kaliuzhnyi    41       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Улучшение пооперационного планирования в 1С:ERP 2.4 внешними средствами

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы Производительность и оптимизация (HighLoad)

Задача построения оптимального производственного расписания требует сравнения тысяч и десятков тысяч вариантов. Выполнять такие вычисления средствами платформы 1С Предприятие нецелесообразно. Как реализовать пооперационное планирование с использованием генетических алгоритмов и параллельных вычислений в докладе на конференции Infostart Event 2019 Inception рассказал генеральный директор компании «ИНТЕХ» Сергей Сафаров.

02.03.2020    2086    ildarovich    7       

Подборка программ для взаимодействия с ЕГАИС Промо

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

Делаем быстрее POSTGRESQL COUNT (*)

Статья Системный администратор Программист Нет файла Бесплатно (free) Производительность и оптимизация (HighLoad)

Предлагаю вашему вниманию перевод статьи Laurenz Albe "POSTGRESQL COUNT(*) MADE FAST". Оригинал доступен по ссылке https://www.cybertec-postgresql.com/en/postgresql-count-made-fast/

28.02.2020    820    w.r.    1       

Простое обнаружение проблем производительности в PostgreSQL

Статья Системный администратор Программист Нет файла Бесплатно (free) Производительность и оптимизация (HighLoad)

Предлагаю вашему вниманию перевод статьи Hans-Jürgen Schönig "DETECTING PERFORMANCE PROBLEMS EASILY IN POSTGRESQL". Оригинал доступен по ссылке https://www.cybertec-postgresql.com/en/detecting-performance-problems-easily-in-postgresql/ Актуально для всех 1С ников, перешедших с MS SQL на Postgres

20.02.2020    2092    w.r.    4       

Базовый курс для начинающих 1С-программистов. Онлайн-интенсив со 2 июня по 2 июля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500-9500 рублей

Планы запросов - это просто! Разбор оптимизаций запросов PostgreSQL на живых примерах

Статья Программист Нет файла v8::Запросы Бесплатно (free) Производительность и оптимизация (HighLoad)

Проблема быстродействия 1С напрямую зависит от производительности запросов. Но как понять механику работы СУБД с помощью плана запроса? Андрей Овсянкин и Никита Грызлов на конференции Infostart Event 2019 Inception подробно рассмотрели алгоритм работы с планом запроса СУБД PostgreSQL, полученным из технологического журнала, и рассказали, на что обратить внимание, чтобы оптимизировать работу системы.

17.02.2020    5285    Evil Beaver    13       

Держи данные в тепле, транзакции в холоде, а VACUUM в голоде

Статья Системный администратор Программист Нет файла Бесплатно (free) Производительность и оптимизация (HighLoad)

Чтобы база работала быстро – в ней нужен порядок. Это касается как MS SQL, так и PostgreSQL. Как настроить базу, чтобы в ней поддерживался порядок, какие регламентные операции нужно проводить, чтобы данные чистились, индексы перестраивались и оперативная память высвобождалась в своём выступлении на конференции Infostart Event 2019 Inception поделился руководитель ИТ в компании «ИнфоСофт» Антон Дорошкевич. 

07.02.2020    5369    a.doroshkevich    15       

Онлайн-курс «Автоматизация процессов управления МТО: методика сбора и формализации требований» с 1 апреля по 13 мая 2020 года. Промо

Цель курса - повысить полноту и качество сбора и формализации требований к автоматизации процессов управления материально-техническим обеспечением. Курс основан на процессном подходе, позволяет в полном объеме выявить и учесть все факторы, влияющие на специфику процессов управления МТО. Участники курса получают теоретические знания в области организации процессов управления МТО и готовый инструментарий для сбора и формализации требований по автоматизации этих процессов (шаблоны, опросники, модели).

40000 рублей

Оптимизатор запросов. Вторая часть

Статья Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

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

23.01.2020    4000    darkdan77    59       

Улучшаем производительность 1С. Рекомендации

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Производительность и оптимизация (HighLoad)

Каждый уважаемый разработчик 1С сталкивался или столкнется с вопросом производительности высоконагруженных систем. В статье агрегирован основной набор рекомендаций, который позволит повысить производительность системы. Эти рекомендации должны быть просто must have по определению.

23.01.2020    5297    Kaval88    26       

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 рублей

Атака сервера кнопонажималкой

Статья Программист Нет файла Бесплатно (free) Нагрузочное тестирование Инструментарий разработчика

Чтобы убедиться, что продукт выдержит планируемую нагрузку, необходимо провести нагрузочное тестирование – написать сценарии пользовательских действий и запустить их в несколько потоков, чтобы заранее найти проблемы в бизнес-логике и «узкие места». О том, как упростить написание сценариев тестирования для конфигурации Тест-центр с помощью фреймворка Vanessa Automation на конференции Infostart Event 2019 Inception рассказал ведущий программист компании «ПервыйБИТ» Никита Грызлов.

20.01.2020    3398    nixel    16       

Мониторим производительность с помощью 1С RAS

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) Инструментарий разработчика Производительность и оптимизация (HighLoad)

Подключаемся и анализируем данные через 1С RAS. Необходимо выполнить 5 пунктов и серьезный инструмент мониторинга будет у вас в руках.

19.12.2019    6460    ivanov660    14       

1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для автоматизации периодических расчетов, а именно - для расчета зарплаты. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Зарплата и управление персоналом” и прочих прикладных решений, в которых реализован функционал расчета зарплаты.

4900 рублей

История роста и работы команд 1С в условиях HighLoad и BigData

Статья Программист Руководитель проекта Нет файла Бесплатно (free) Автоматизация ИТ-компании Производительность и оптимизация (HighLoad)

Современные потребности бизнеса заставляют программистов 1С решать все более сложные задачи. А главные требования, которым необходимо соответствовать, – вовремя поставлять ценности высокого качества. С какими сложностями приходится сталкиваться в работе программистам в динамично развивающейся брокерской сфере, и как их решают, на конференции Infostart Event 2018 Education рассказал начальник отдела интеграции БКС Технологии Сергей Артемов.

11.11.2019    5296    user826155    11       

Весёлые картинки о работе Performance Monitor на Windows Server 2016 Std по мотивам расследования потери производительности на базе 1С

Статья Системный администратор Нет файла v8 Windows Бесплатно (free) Производительность и оптимизация (HighLoad)

Данная публикация посвящена одной особенности Performance Monitor на Windows Server 2016 Std. Как понимать графики Performance Monitor на Windows Server 2016 Std при расследовании проблем в работе 1С.

22.10.2019    4671    EugeneSemyonov    11       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Набор скриптов для знакомства с SQL Server

Статья Системный администратор Программист Нет файла Бесплатно (free) Производительность и оптимизация (HighLoad) Администрирование СУБД

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

30.09.2019    16636    YPermitin    14       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Мониторинг высоконагруженной системы

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) Производительность и оптимизация (HighLoad)

Высоконагруженной системе (более 8000 клиентских сессий) мониторинг необходим. Про опыт использования инструментов для мониторинга – самописной системы информирования, написанной на C#, и конфигурации «Центр контроля качества» в связке с системой отображения данных Grafana, на конференции Infostart Event 2018 Education рассказал Олег Репников.

13.09.2019    6587    Repich    5       

Использование Zabbix для сбора информации о серверных вызовах и управляемых блокировках с сервера 1С Предприятия, работающего на платформе GNU/Linux

Статья Системный администратор Программист Нет файла v8 Linux Бесплатно (free) Администрирование данных 1С Zabbix

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

10.09.2019    13550    Sloth    11       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Подбор оборудования для информационных систем на платформе 1С

Статья Системный администратор Программист Руководитель проекта Нет файла Бесплатно (free) Интеграция Производительность и оптимизация (HighLoad)

При подборе оборудования по рекомендациям с сайта ИТС возникает противоречие: проводить ли нагрузочные тесты, чтобы определить возможную нагрузку, или достаточно просто взять данные из таблиц статистики? О том, какую тактику применить в том или ином случае, на конференции INFOSTART EVENT 2018 Education рассказал начальник отдела разработки компании IBS Филиппов Евгений.

09.09.2019    6975    jf2000    8       

DevOps для 1С. Онлайн-курс проходит с 16 апреля по 11 июня 2020 года. Промо

Данный онлайн-курс предусматривает изучение процессов DevOps, их применение при разработке на платформе 1С. В результате прохождения онлайн-курса вы сможете: настроить ПО необходимое для проведения проверок и тестирования, создавать сценарии тестирования и объединять их в комплексные процессы, создавать скрипты для автоматизации процессов DevOps.

12000 рублей

Руководство по SQL: Как лучше писать запросы (Часть 2)

Статья Системный администратор Программист Нет файла СУБД Бесплатно (free) Производительность и оптимизация (HighLoad)

Предлагаю вашему вниманию продолжение перевода статьи Karlijn Willems SQL Tutorial: How To Write Better Queries". Оригинал доступен по ссылке https://www.datacamp.com/community/tutorials/sql-tutorial-query. Первая часть доступна по ссылке https://infostart.ru/public/1115809/

03.09.2019    5737    w.r.    2       

Анализ производительности APDEX

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 1cv8.cf Бесплатно (free) Производительность и оптимизация (HighLoad)

Отчет для просмотра и анализа замеров производительности в конфигурациях на базе БСП.

31.08.2019    7087    176    YPermitin    7       

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

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

5500 рублей

Руководство по SQL: Как лучше писать запросы (Часть 1)

Статья Системный администратор Программист Нет файла Бесплатно (free) Производительность и оптимизация (HighLoad)

Предлагаю вашему вниманию перевод статьи Karlijn Willems SQL Tutorial: How To Write Better Queries". Оригинал доступен по ссылке https://www.datacamp.com/community/tutorials/sql-tutorial-query. Узнайте о антипаттернах, планах выполнения, time complexity, настройке запросов и оптимизации в SQL.

30.08.2019    8032    w.r.    17       

Использование Union вместо OR

Статья Системный администратор Программист Нет файла MS SQL Бесплатно (free) Производительность и оптимизация (HighLoad)

Предлагаю вашему вниманию перевод статьи Derek Dieter "Using Union Instead of OR". Оригинал доступен по ссылке http://sqlserverplanet.com/optimization/using-union-instead-of-or.

22.08.2019    2877    w.r.    35