我正在根据字段商店ID获得父表产品和子表product_1 ... product_N。每天为所有商店明确(并在不同时间)执行UPDATE操作。所以现在我想在某个字段上添加索引,我不确定哪个表应该有这个索引。只有父表或每个子表应该有自己的索引?或两者兼而有之?
UPD
UPDATE product p SET
...
FROM newitems n
WHERE n.new_prod='0' AND
n.internal_product_id is not null AND
p.sku = n.sku AND
p.distributor_id=M and
p.store_id=N;
我想在sku字段上添加索引以加快连接速度。
答案 0 :(得分:2)
应在每个表上明确添加索引。索引父表不会影响子表。
答案 1 :(得分:0)
第一次创建子表时,可以指定自动继承父表的索引。 (在创建子表之后,我还没有找到一种激活该方法的方法。)
“ 喜欢...包括所有表明我们将使用默认值进行复制, 主键和索引定义。现在提供了 前瞻性管理所有笔记表的方式。 唯一性标准仍会在每个表的基础上强制执行。” https://dzone.com/articles/table-inheritance-whats-it-good-for
CREATE TABLE notes (
id serial primary key,
created_at timestamp not null default now(),
created_by text not null,
subject text not null,
body text not null,
);
CREATE INDEX idx_notes_subject ON notes (subject);
CREATE TABLE invoice_notes (
child_field text not null,
LIKE notes INCLUDING INDEXES, -- automatically inherit parent indexes
) INHERITS (notes);