Ver/cambiar la configuración del optimizador / paralelismo
Oracle
SHOW PARAMETER optimizer;
-- Session: ALTER SESSION SET optimizer_mode = FIRST_ROWS_10;
-- Parallelism: ALTER SESSION FORCE PARALLEL QUERY PARALLEL 4;Parámetros como optimizer_index_cost_adj y parallel_degree_policy afectan a la elección del plan; cámbielos con cuidado.
PostgreSQL
SHOW random_page_cost;
SHOW max_parallel_workers_per_gather;
-- Session: SET enable_seqscan = off;En SSD se recomienda random_page_cost ~1.1. Los flags enable_* son para diagnóstico, no una solución permanente.
MySQL
SELECT @@optimizer_switch;
SET SESSION optimizer_switch='index_merge=off';optimizer_switch activa/desactiva optimizaciones individuales; pruebe a nivel de sesión.
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 es ilimitado; normalmente 4-8 para OLTP. El valor por defecto de 5 de 'cost threshold for parallelism' es demasiado bajo en la mayoría de los casos.
MongoDB
# There are no optimizer parameters; indexes and query shape are decisive.
db.customer.find({...}).explain('allPlansExecution')allPlansExecution muestra todos los planes evaluados por el planificador.
Redis
# Not applicable.No hay planificador; io-threads y la elección de la estructura de datos determinan el rendimiento.
Elasticsearch
GET <index>/_settings?include_defaults=true
# search limits such as search.max_buckets, index.max_result_windowNo hay optimizador; el número de shards, el routing y la estructura de la consulta determinan el rendimiento.