Skip to content

Commit 295b93b

Browse files
authored
Update 03_indexes.sql
1 parent 7e5c989 commit 295b93b

File tree

1 file changed

+52
-8
lines changed

1 file changed

+52
-8
lines changed

sql/init/03_indexes.sql

Lines changed: 52 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,57 @@
11
USE bd_imobiliaria;
22

3-
-- pesquisa rápida por município e estado
4-
CREATE INDEX idx_municipio_estado ON Municipio (Estado_Id, Estado_Regiao_Id);
3+
-- ============================
4+
-- Localização administrativa
5+
-- ============================
6+
-- Estado -> Regiao
7+
CREATE INDEX idx_estado_regiao_id ON estado (regiao_id);
58

6-
-- lookup por tipo de endereço (afeta PK composta de endereco)
7-
CREATE INDEX idx_endereco_tipo ON endereco (tipo_endereco_id_tipo_endereco);
9+
-- Municipio -> Estado
10+
CREATE INDEX idx_municipio_estado_id ON municipio (estado_id);
811

9-
-- joins frequentes em tipo_imovel
10-
CREATE INDEX idx_tipo_imovel_fks ON tipo_imovel (contrutora_id_contrutora, finalidade_busca_idfinalidade_busca);
12+
-- Bairro -> Municipio
13+
CREATE INDEX idx_bairro_municipio_id ON bairro (municipio_id);
1114

12-
-- localização por tipo_imovel
13-
CREATE INDEX idx_localizacao_tipo ON localizacao (tipo_imovel_id_tipo_imovel, tipo_imovel_contrutora_id_contrutora, tipo_imovel_finalidade_busca_idfinalidade_busca);
15+
-- ============================
16+
-- Endereço
17+
-- ============================
18+
-- Endereco -> tipo_endereco / bairro
19+
CREATE INDEX idx_endereco_tipo_endereco_id ON endereco (tipo_endereco_id);
20+
CREATE INDEX idx_endereco_bairro_id ON endereco (bairro_id);
21+
22+
-- ============================
23+
-- Pessoas e contatos
24+
-- ============================
25+
-- Pessoa -> Profissao / Endereco / Municipio / Contato
26+
CREATE INDEX idx_pessoa_profissao_id ON pessoa (profissao_id);
27+
CREATE INDEX idx_pessoa_endereco_id ON pessoa (endereco_id);
28+
CREATE INDEX idx_pessoa_municipio_id ON pessoa (municipio_id);
29+
CREATE INDEX idx_pessoa_contato_id ON pessoa (contato_id);
30+
31+
-- Contato x Origem de contato
32+
CREATE INDEX idx_contato_origem_contato_id ON contato_origem (contato_id);
33+
CREATE INDEX idx_contato_origem_origem_contato_id ON contato_origem (origem_contato_id);
34+
35+
-- Pessoa x Documento
36+
CREATE INDEX idx_pessoa_documento_pessoa_id ON pessoa_documento (pessoa_id);
37+
CREATE INDEX idx_pessoa_documento_documento_id ON pessoa_documento (documento_identificacao_id);
38+
39+
-- ============================
40+
-- Domínio imobiliário
41+
-- ============================
42+
-- Tipo de imóvel (FKs)
43+
CREATE INDEX idx_tipo_imovel_construtora_id ON tipo_imovel (construtora_id);
44+
CREATE INDEX idx_tipo_imovel_finalidade_id ON tipo_imovel (finalidade_busca_id);
45+
46+
-- Localização -> tipo_imovel
47+
CREATE INDEX idx_localizacao_tipo_imovel_id ON localizacao (tipo_imovel_id);
48+
49+
-- ============================
50+
-- Acesso / permissões
51+
-- ============================
52+
-- Tipo de acesso -> Permissão
53+
CREATE INDEX idx_tipo_acesso_permissao_id ON tipo_acesso (permissao_sistema_id);
54+
55+
-- Acesso -> TipoAcesso / Contato
56+
CREATE INDEX idx_acesso_tipo_acesso_id ON acesso (tipo_acesso_id);
57+
CREATE INDEX idx_acesso_contato_id ON acesso (contato_id);

0 commit comments

Comments
 (0)