Ola pessoal

Sou novo na utilização de PostgreSQL, e tenho a seguinte duvida.

Segundo alguns autores, ao se criar uma chave primaria, na verdade o
SGBD cria um índice primário/único no caso de chave primaria. Mas e no
caso da chave estrangeira, o SGBD indexa a coluna Fk também?

Pergunto isso pois criei a seguinte chave estrangeira em um banco de
testes (do benchmark TPCH):

ALTER TABLE ORDERS ADD FOREIGN KEY (O_CUSTKEY) REFERENCES CUSTOMER(C_CUSTKEY);

Apos tentei criar um índice secundário btree na tabela ORDERS desta forma:
CREATE INDEX indice_custkey_customer on ORDERS (O_CUSTKEY);

Achei que o PostgreSQL  Não iria permitir isso, pois pensei que a
coluna O_CUSTKEY já estava indexada (pela chave estrangeira), mas o
PostgreSQL aceitou o índice secundário.

Alguém saberia explicar SE ao criar uma chave estrangeira, é criado ou
não um índice.
Outro dia estava vendo um plano de execução, e no plano tinha o uso de
uma chave estrangeira para recuperar registros, por isso também a
dúvida.

[]`s Neto
<div id="DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2"><br /> <table
style="border-top: 1px solid #D3D4DE;">
        <tr>
      <td style="width: 55px; padding-top: 18px;"><a
href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail";
target="_blank"><img
src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif";
alt="" width="46" height="29" style="width: 46px; height: 29px;"
/></a></td>
                <td style="width: 470px; padding-top: 17px; color: #41424e;
font-size: 13px; font-family: Arial, Helvetica, sans-serif;
line-height: 18px;">Livre de vírus. <a
href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail";
target="_blank" style="color: #4453ea;">www.avast.com</a>.              </td>
        </tr>
</table>
<a href="#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2" width="1" height="1"></a></div>
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a