Statistiken mit erweiterten Optionen erheben (Histogramme usw.)
Oracle
EXEC DBMS_STATS.GATHER_TABLE_STATS(
ownname=>'HR', tabname=>'EMPLOYEE',
estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE,
method_opt=>'FOR ALL COLUMNS SIZE AUTO', degree=>4);method_opt steuert Histogramme, degree die Parallelität. Mit LOCK_TABLE_STATS werden Statistiken gesperrt.
PostgreSQL
ALTER TABLE customer ALTER COLUMN city SET STATISTICS 500;
ANALYZE customer;Sampling-Ziel pro Spalte; default_statistics_target setzt den globalen Standard.
MySQL
ANALYZE TABLE customer UPDATE HISTOGRAM ON city WITH 32 BUCKETS;Histogrammunterstützung ab MySQL 8.0; nützlich bei Spalten, nach denen gefiltert wird, die aber nicht selektiv sind.
SQL Server
UPDATE STATISTICS dbo.customer WITH FULLSCAN;
-- Filtered statistics: CREATE STATISTICS ... WHERE ...FULLSCAN ist am genauesten; bei großen Tabellen SAMPLE nutzen. AUTO_UPDATE_STATISTICS für automatische Aktualisierung.
MongoDB
// There are no manual statistics; the planner measures at runtime.
db.customer.getPlanCache().clear()Abgesehen vom Leeren eines veralteten Plan-Caches sind keine manuellen Statistiken nötig.
Redis
# Not applicable.Es gibt keine Statistiken/keinen Optimizer.
Elasticsearch
# There is no statistics gathering; refresh searchability:
POST <index>/_refreshField Data und Doc Values werden zur Abfragezeit genutzt; Force Merge reduziert die Segmente.