การแสดงข้อแตกต่างระหว่างดัชนีบนสองคนคอลัมน์กับเงื่อนไขเซลดัชนี

0

คำถาม

ฉันมี decently ใหญ่ postgres โต๊ะกับเมื่อไม่กี่พันล้านวนแถว.

ยังไงก็ตามโต๊ะอาจเป็นกแบ่งส่วนโดยคนคอลัมน์(type)

เราควรเลือก:

เป็นดัชนีกับสองคนคอลัมน์

create nonclustered index ix_index1 on table1(type, string_urn_id)

หรือเงื่อนไขเซลดัชนี

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

คำตอบที่ดีที่สุด

1

ไม่มีคำให้การ create nonclustered index ใน PostgreSQL.

มันคืออะไรดีขึ้นอยู่กับนิยามของคำว่า"ดีขึ้น". จากมุมมองดูแลรักษาที่เดียวดัชนีคือดีกว่าเพราะว่าคุณไม่ต้องสร้างดัชนีใหม่เมื่อไหร่ที่คุณเพิ่มใหม่ type.

จากการแสดงด้านของมุมมองเดียวที่เป็น benchmark กับความเป็นจริงข้อมูลสามารถบอกได้เลย วางแผนจะถึงเวลาเพิ่มด้วยมาก indexes แต่ query การแสดงอาจจะแปกดีขึ้น

ถ้าคุณพาร์ติชันที่โต๊ะกับการค้นหาการแสดงจะลงแต่คุณสามารถทำยังไงกับนัดเดียวกแบ่งส่วนดัชนีบน string_urn_id.

2021-10-27 07:02:43

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

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

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่