Пересказ статьи Louis Davidson. DISTINCT and UNION: What happens when you use them together
В одном из ответов к ветке об использовании
SELECT * Aaron Cutshall заметил, что "еще одним из реальных убийц производительности является SELECT DISTINCT, особенно в сочетании с UNION. У меня есть целый список часто используемых скрытых «убийц» производительности!"
Я начал размышлять... Что происходит, когда вы используете их вместе? А когда вы используете UNION на множестве неуникальных строк, что происходит? Итак, я начал писать.
Continue reading "DISTINCT и UNION: что произойдет, если использовать их вместе?"
Пересказ статьи Arief JR. Optimize Your Database Step-by-Step Guide to Setting Up pgpool-II with PostgreSQL Master-Slave Configuration And Failover Implementation
Pgpool-II является ПО промежуточного уровня, которое находится между серверами PostgreSQL и клиентом баз данных PostgreSQL, обеспечивающего такие функции, как пул подключений, балансировку нагрузки, автоматическую отказоустойчивость, кэширование запросов и многое другое. Оно действует как прокси, обслуживая и распределяя клиентские подключения по множеству серверов баз данных PostgreSQL.
Вот обзор некоторых основных функций pgpool-II:
- Пул подключений: pgpool-II поддерживает пул установленных подключений к серверам PostgreSQL, снижая накладные расходы на создание и закрытие подключений для каждого запроса клиента. Это улучшает производительность путем минимизации времени установки соединения и использования ресурсов на сервере баз данных.
- Балансировка нагрузки: Распределяет клиентские соединения по множеству серверов PostgreSQL для равномерного распределения нагрузки. Это помогает улучшить масштабирование и производительность путем задействования ресурсов нескольких серверов.
- Автоматическая отказоустойчивость: pgpool-II может обнаруживать сбои серверов PostgreSQL и автоматически перенаправлять подключения на резервные серверы в случае отказа главного сервера. Это обеспечивает высокую доступность и отказоустойчивость приложений баз данных.
- Кэширование запросов: pgpool-II может кэшировать часто выполняемые запросы и их результаты, снижая рабочую нагрузку на серверы баз данных и улучшая время отклика для повторяющихся запросов.
- Параллельное выполнение запросов: Поддерживается распараллеливание выполнения запроса, обеспечивая распределение и параллельное выполнение запросов на множестве серверов PostgreSQL для более быстрой обработки запроса.
- Сторожевой таймер: pgpool-II включает функцию сторожевого таймера, который мониторит работоспособность и состояние серверов PostgreSQL и экземпляров pgpool-II, выполняяя по мере необходимости автоматизированные действия по отказоустойчивости и восстановлению для поддержания доступности системы.
Continue reading "Оптимизируйте свою базу данных: пошаговое руководство по настройке pgpool-II с конфигурацией PostgreSQL Master-Slave и реализацией отказоустойчивости"
Пересказ статьи mohyusufz. Boosting Performance: Optimizing PostgreSQL Functions
Хорошо оптимизированные функции могут значительно улучшить эффективность базы данных. В этой статье будут даны советы и предложены методы для обеспечения наиболее эффективной работы функций в PostgreSQL.
Как функции улучшают производительность
Функции могут улучшить производительность базы данных за счет:
- Сокращение сетевой задержки: Выполнение логики на стороне сервера уменьшает необходимость пересылки больших объемов данных по сети.
- Минимизация передачи данных: Функции могут обрабатывать данные на сервере и возвращать клиенту только необходимый результат.
- Кэширование планов выполнения: PostgreSQL кэширует планы выполнения для функций, уменьшая накладные расходы на повторяющиеся парсинг и построение плана.
Continue reading "Повышение производительности: оптимизация функций PostgreSQL"