开发者

indexes needed for table inheritance in postgres?

开发者 https://www.devze.com 2023-01-09 06:01 出处:网络
This is a fairly simple question, but it\'s one I can\'t find a firm answer on. I have a parent table in PostgreSQL, and then several child tables which have been defined.A trigger has been establish

This is a fairly simple question, but it's one I can't find a firm answer on.

I have a parent table in PostgreSQL, and then several child tables which have been defined. A trigger has been established, and the children tables only have data inserted if a field, say field x, meets a certain criteria.

When I query the parent table with a field based upon x, PostgreSQL knows to immediately go to the child table that is related to that particular value of x.

That all being said, I don't need to spe开发者_如何学编程cify a particular index on the column x do I? PostgreSQL already knows how to sort on it, and by adding an index to the parent x, PostgreSQL is therefore generating unique indexes on x for each of the new child tables.

Creating that index is a bit redundant, right?


Creating an index on the child table for x, if x only has one value (or a very, very small number of values) if probably a loss, yes. The planner would scan the whole table anyway.

If x is a timestamp and you're specifying a timeframe that may not be a whole partition, or if x is another range or set of values, an index would be a win most likely.

Edit: When I say one value or range of values, I mean, per child table.

0

精彩评论

暂无评论...
验证码 换一张
取 消