İki sütundaki dizin ile koşullu dizin arasındaki performans farkı

0

Soru

Birkaç milyar satır içeren terbiyeli büyük bir postgres tablom var.

Ancak tablo bir sütunla bölümlenebilir (type)

Tercih etmeli miyiz:

İki sütunlu bir dizin

create nonclustered index ix_index1 on table1(type, string_urn_id)

veya koşullu dizin

create nonclustered index ix_index1_alternative on table1(string_urn_id) WHERE type = 'type1'
create nonclustered index ix_index1_alternative2 on table1(string_urn_id) WHERE type = 'type2'
create nonclustered index ix_index1_alternative3 on table1(string_urn_id) WHERE type = 'type3'
....
database-performance postgresql
2021-10-27 02:41:08
1

En iyi cevabı

1

İfade yok create nonclustered index postgresql'de.

Daha iyi olan "daha iyi"tanımına bağlıdır. Bakım açısından bakıldığında, tek dizin daha iyidir, çünkü yeni bir dizin eklediğinizde yeni bir dizin oluşturmanız gerekmez type.

Performans açısından bakıldığında, yalnızca gerçekçi verilere sahip bir kıyaslama söyleyebilir. Planlama süresi birçok dizin ile artacaktır, ancak sorgu performansı biraz daha iyi olabilir.

Tabloyu bölümlerseniz, sorgu performansı düşer, ancak tek bir bölümlenmiş dizin ile yapabilirsiniz string_urn_id.

2021-10-27 07:02:43

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................