[Перевод] Ускоряем MySQL: 5+ фишек для оптимизации работы базы данных

СУБД чрезвычайно важна для любого проекта, и почти перед каждым админом в какой-то момент встаёт задача её оптимизации. Чтобы сделать запросы быстрее, важно понимать, как работает MySQL в целом.Описанные в этом посте методы повышают производительн…

[Перевод] Детальное рассмотрение поведения при использовании INCLUDE

Некоторые базы данных такие, как Microsoft SQL Server, IBM Db2, а также PostgreSQL начиная с 11 версии – предлагают прибегнуть к оператору include для генерации индекса. Представление данного функционала в PostgreSQL (исходная статья вышла 30.04.2019) …

PostgreSQL Antipatterns: куда крутить NULLS

Периодически приходится разбирать случаи внезапного промаха запроса мимо «вроде бы подходящего» индекса — а все дело оказывается в чуть-чуть не той сортировке. Читать далее…

Как защищать границы массива без команды BOUND

Я уже плакался по поводу исключения в x86-64 команд двоично-десятичной арифметики DAA/DAS и плакался по поводу отмены команды проверки целочисленного переполнения INTO. Теперь настала очередь плакаться по поводу выброшенной команды BOUND. Как говорится…

Псс, парень… индекс нужен?

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

Как мы оптимизировали i-запросы, а нашли неточности в документации Django

В современных веб-приложениях большинство запросов к базе данных пишется не на сыром SQL, а с использованием объектно-реляционного отображения (ORM). Оно автоматически генерирует SQL-запросы по привычному объектно-ориентированному коду. Однако эти запр…

PostgreSQL: занимательный пример работы индексов, планировщика запросов и магии

В начале месяца я прочитал доклад про индексы в базах данных для Saint P Ruby Community и буквально через несколько дней жизнь не замедлила подкинуть мне показательный пример работы индексов, планировщика баз данных и важности обновления СУБД.Итак, дан…

Запросы в PostgreSQL: 4. Индексное сканирование

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