Какой индекс должен быть создан для этого запроса?

André Monteiro спросил: 14 ноября 2017 в 06:32 в: sql

Поэтому мне нужна помощь, чтобы выяснить, какие индексы нужно создать для повышения производительности этого запроса:

SELECT DISTINCT F.nif, F.nomef
FROM fornecedor F, produto P
WHERE F.nif = P.forn_primario AND P.categoria = 'Fruta';

Таблицы fornecedor и produto создаются следующим образом. путь:

Fornecedor

create table fornecedor (
nif char(9) not null unique,
nomef varchar(80) not null,
constraint nif_size CHECK (Length(nif)=9),
constraint pk_fornecedor primary key(nif));

Produto

create table produto (
ean char(13) not null unique,
design varchar(255) not null,
categoria varchar(80) not null,
forn_primario char(9) not null,
data date not null,
constraint ean_size CHECK (Length(ean)=13),
constraint pk_produto primary key(ean),
constraint fk_produto_categoria foreign key(categoria) references categoria(nome) ON DELETE CASCADE,
constraint fk_produto_fornecedor foreign key(forn_primario) references fornecedor(nif));

Я не знаю, нужно ли мне создавать Multiple- Индекс ключа, например:

CREATE INDEX multiple_idx ON produto (forn_primario,categoria);

или что-то еще ???

0 ответов