2016-08-17 45 views
0

我有一個26萬行的Postgres表,我想添加一個索引布爾列。如何計算在大型Postgresql表上創建索引的時間?

在生產中嘗試它之前,有沒有辦法計算該操作類型需要多長時間?

+3

爲什麼你想索引一個布爾列?這不會提供性能的巨大提高,因爲布爾值只有兩個選項是真/假而不是唯一索引可以改進的東西。 – mituw16

+0

我想索引布爾列只是因爲我認爲它會提高性能。您是否有任何資源或鏈接要麼說:(1)布爾列上的索引不會提高性能,或者(2)描述如何知道索引是否有用? –

+1

這是針對mysql的,但同樣的想法適用。通過索引布爾列,您幾乎不會在查詢中看到速度提升。 http://stackoverflow.com/a/1845014/1729859同時http://stackoverflow.com/a/10524734/1729859 – mituw16

回答

1

沒有辦法進行指數計算時間,因爲它取決於很多因素(硬件,軟件,配置,負載等)

好消息是,你可能CREATE INDEX CONCURRENTLY,這需要較長的時間,但不鎖定桌子。所以除了服務器負載較高外,操作沒有副作用。

對於一些注意事項,check the documentation

+0

謝謝!很高興知道。 –