|
1 | 1 | USE bd_imobiliaria; |
2 | 2 |
|
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); |
5 | 8 |
|
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); |
8 | 11 |
|
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); |
11 | 14 |
|
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