Посмотреть/изменить настройки оптимизатора / параллелизма
Oracle
SHOW PARAMETER optimizer;
-- Session: ALTER SESSION SET optimizer_mode = FIRST_ROWS_10;
-- Parallelism: ALTER SESSION FORCE PARALLEL QUERY PARALLEL 4;Параметры вроде optimizer_index_cost_adj и parallel_degree_policy влияют на выбор плана; меняйте их осторожно.
PostgreSQL
SHOW random_page_cost;
SHOW max_parallel_workers_per_gather;
-- Session: SET enable_seqscan = off;На SSD рекомендуется random_page_cost ~1.1. Флаги enable_* — для диагностики, а не постоянное решение.
MySQL
SELECT @@optimizer_switch;
SET SESSION optimizer_switch='index_merge=off';optimizer_switch включает/выключает отдельные оптимизации; тестируйте на уровне сессии.
SQL Server
-- Instance-level MAXDOP and cost threshold:
EXEC sp_configure 'max degree of parallelism', 8; RECONFIGURE;
-- Database level: ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 8;MAXDOP=0 — без ограничений; для OLTP обычно 4-8. Значение «cost threshold for parallelism» по умолчанию (5) для большинства слишком мало.
MongoDB
# There are no optimizer parameters; indexes and query shape are decisive.
db.customer.find({...}).explain('allPlansExecution')allPlansExecution показывает все планы, оценённые планировщиком.
Redis
# Not applicable.Планировщика нет; производительность определяют io-threads и выбор структуры данных.
Elasticsearch
GET <index>/_settings?include_defaults=true
# search limits such as search.max_buckets, index.max_result_windowОптимизатора нет; производительность определяют число шардов, routing и структура запроса.