2016-08-17 122 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

谢谢!很高兴知道。 –