Optimizer-/Parallelitätseinstellungen anzeigen/ändern
Oracle
SHOW PARAMETER optimizer;
-- Session: ALTER SESSION SET optimizer_mode = FIRST_ROWS_10;
-- Parallelism: ALTER SESSION FORCE PARALLEL QUERY PARALLEL 4;Einstellungen wie optimizer_index_cost_adj und parallel_degree_policy beeinflussen die Planwahl; ändere sie mit Bedacht.
PostgreSQL
SHOW random_page_cost;
SHOW max_parallel_workers_per_gather;
-- Session: SET enable_seqscan = off;Auf SSDs wird random_page_cost ~1.1 empfohlen. enable_*-Flags dienen der Diagnose, nicht als dauerhafte Lösung.
MySQL
SELECT @@optimizer_switch;
SET SESSION optimizer_switch='index_merge=off';optimizer_switch schaltet einzelne Optimierungen ein/aus; auf Session-Ebene testen.
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 ist unbegrenzt; für OLTP meist 4-8. Der Standardwert 5 für 'cost threshold for parallelism' ist für die meisten zu niedrig.
MongoDB
# There are no optimizer parameters; indexes and query shape are decisive.
db.customer.find({...}).explain('allPlansExecution')allPlansExecution zeigt alle vom Planner bewerteten Pläne.
Redis
# Not applicable.Es gibt keinen Planner; io-threads und die Wahl der Datenstruktur bestimmen die Performance.
Elasticsearch
GET <index>/_settings?include_defaults=true
# search limits such as search.max_buckets, index.max_result_windowEs gibt keinen Optimizer; Shard-Anzahl, Routing und Abfragestruktur bestimmen die Performance.