Collecter des statistiques avec options avancées (histogrammes, etc.)
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 contrôle les histogrammes et degree le parallélisme. Utilisez LOCK_TABLE_STATS pour verrouiller les statistiques.
PostgreSQL
ALTER TABLE customer ALTER COLUMN city SET STATISTICS 500;
ANALYZE customer;Cible d'échantillonnage par colonne ; default_statistics_target fixe la valeur par défaut globale.
MySQL
ANALYZE TABLE customer UPDATE HISTOGRAM ON city WITH 32 BUCKETS;Prise en charge des histogrammes dans MySQL 8.0 ; utile sur les colonnes filtrées mais peu sélectives.
SQL Server
UPDATE STATISTICS dbo.customer WITH FULLSCAN;
-- Filtered statistics: CREATE STATISTICS ... WHERE ...FULLSCAN est le plus précis ; utilisez SAMPLE sur les grandes tables. AUTO_UPDATE_STATISTICS pour les mises à jour automatiques.
MongoDB
// There are no manual statistics; the planner measures at runtime.
db.customer.getPlanCache().clear()Hormis l'effacement d'un plan cache obsolète, aucune statistique manuelle n'est nécessaire.
Redis
# Not applicable.Il n'y a ni statistiques ni optimiseur.
Elasticsearch
# There is no statistics gathering; refresh searchability:
POST <index>/_refreshLes field data et doc values sont utilisés au moment de la requête ; force merge réduit le nombre de segments.