我有一個需要可搜索的10列的表(該表本身大約有20列)。因此,用戶將至少輸入一個列的查詢條件,但可能全部都是十個。所有非空的條件,然後放入AND條件Postgres中的多個varchar列的最佳索引策略
假設爲列1和column4用戶提供非空標準和column8查詢將是:
select * from the_table
where column1 like '%column1_query%'
and column4 like '%column4_query%'
and column8 like '%column8_query%'
所以我的問題是:更好的是我關閉創建10列的索引? 10個索引各有1列?或者我需要找出經常一起查詢哪些列,併爲它們創建索引(上述情況下第1,4和8列的索引)。
如果我的理解是正確的,那麼10列的單個索引只有在全部10列處於該條件下才能有效地工作。
打開這裏的任何建議,此外,表的行數只有約20-30K行,但我想確保任何和所有的搜索錶快速。
謝謝!