假設您詢問的是許多資料庫中常見的「索引提示」功能,PostgreSQL並沒有提供這樣的功能。這是PostgreSQL團隊做出的有意決定。關於為什麼以及您可以做什麼的很好的概述可以在這裡找到。基本原因是,這是一種效能最佳化的方法,在資料發生變化時往往會導致更多的問題,而PostgreSQL的優化器可以根據統計資料重新評估計劃。換句話說,今天可能是一個好的查詢計劃,但可能不會一直是一個好的查詢計劃,而索引提示則會強制使用特定的查詢計劃。
作為一個非常粗糙的工具,用於測試,您可以使用enable_seqscan和enable_indexscan參數。請參閱:
enable_seqscan
enable_indexscan
#enable_
這些不適用於持續的生產使用。如果您在查詢計劃選擇方面遇到問題,您應該查看用於追蹤查詢效能問題的文件。不要只是設定enable_參數然後離開。
enable_
除非您有非常充分的理由使用索引,否則Postgres可能會做出正確的選擇。為什麼呢?
也請參閱這篇舊的新聞群組文章。
假設您詢問的是許多資料庫中常見的「索引提示」功能,PostgreSQL並沒有提供這樣的功能。這是PostgreSQL團隊做出的有意決定。關於為什麼以及您可以做什麼的很好的概述可以在這裡找到。基本原因是,這是一種效能最佳化的方法,在資料發生變化時往往會導致更多的問題,而PostgreSQL的優化器可以根據統計資料重新評估計劃。換句話說,今天可能是一個好的查詢計劃,但可能不會一直是一個好的查詢計劃,而索引提示則會強制使用特定的查詢計劃。
作為一個非常粗糙的工具,用於測試,您可以使用
enable_seqscan
和enable_indexscan
參數。請參閱:#enable_
參數這些不適用於持續的生產使用。如果您在查詢計劃選擇方面遇到問題,您應該查看用於追蹤查詢效能問題的文件。不要只是設定
enable_
參數然後離開。除非您有非常充分的理由使用索引,否則Postgres可能會做出正確的選擇。為什麼呢?
也請參閱這篇舊的新聞群組文章。