DBAtlas · Veritabanı operasyon atlası

Optimizer / paralellik ayarlarını gör-değiştir

Oracle

SHOW PARAMETER optimizer;
-- Oturum: ALTER SESSION SET optimizer_mode = FIRST_ROWS_10;
-- Paralellik: ALTER SESSION FORCE PARALLEL QUERY PARALLEL 4;

optimizer_index_cost_adj, parallel_degree_policy gibi ayarlar plan seçimini etkiler; dikkatli değiştirin.

PostgreSQL

SHOW random_page_cost;
SHOW max_parallel_workers_per_gather;
-- Oturum: SET enable_seqscan = off;

SSD'de random_page_cost ~1.1 önerilir. enable_* bayrakları teşhis içindir, kalıcı çözüm değil.

MySQL

SELECT @@optimizer_switch;
SET SESSION optimizer_switch='index_merge=off';

optimizer_switch tek tek optimizasyonları açar/kapatır; oturum düzeyinde test edin.

SQL Server

-- Örnek düzeyinde MAXDOP ve maliyet eşiği:
EXEC sp_configure 'max degree of parallelism', 8; RECONFIGURE;
-- Veritabanı düzeyinde: ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 8;

MAXDOP=0 sınırsız; OLTP'de genelde 4-8. 'cost threshold for parallelism' varsayılan 5 çoğu için düşüktür.

MongoDB

# Optimizer parametresi yoktur; indeks ve sorgu şekli belirleyicidir.
db.musteri.find({...}).explain('allPlansExecution')

allPlansExecution planlayıcının değerlendirdiği tüm planları gösterir.

Redis

# Uygulanamaz.

Planlayıcı yoktur; io-threads ve veri yapısı seçimi performansı belirler.

Elasticsearch

GET <index>/_settings?include_defaults=true
# search.max_buckets, index.max_result_window gibi arama sınırları

Optimizer yok; shard sayısı, routing ve sorgu yapısı performansı belirler.

DBAtlas'ta aç →