Apresentação de slides que utilizei para falar um pouco sobre alguns conceitos de banco de dados que podem nos ajudar muito no dia a dia. A apresentação foi realizada Papo Reto de outubro, evento mensal da Bluesoft.
4. SUGESTÕES PARA PARTIÇÕES EM
TABELAS
• Quando Utilizar
• > 2 GB de espaço físico
• Tabelas de Histórico
• Armazenamento Distribuído
5. BENEFÍCIOS DO
PARTICIONAMENTO
• Performance
• Prunning – Fazer uma operação SQL utilizando a partição ao invés de full table
scan
• Partition-wise Join – Múltiplas tabelas utilizando a partição ao fazer o join por
igualdade entre as colunas das respectivas partições
• Gerenciamento
• O gerenciamento fica mais simples ao dividiros dados em diversos “pedaços”
(partições)
• Disponibilidade
• Partições independentes
“Dividir para conquistar”
6. ESTRATÉGIAS DE
PARTICIONAMENTO
• Range
• “Mapeia os dados para partições com base em intervalos de valores da chave de particionamento
que se estabelece para cada partição.”
• Hash
• “Mapeia os dados para partições com base em um algoritmo de hash que a Oracle aplica na
chave do particionamento. Esse algoritmo tenta manter todas as partições com um tamanho
aproximado.”
• Geralmente utilizado para casos em que dados não são históricos e/ou não possuem chave bem
definida.
• Não é possível alterar o algoritmo.
• List
• “Permite controlar explicitamente como as linhas da tabela são mapeadas na partição,
especificando uma lista de valores discretos.”
• Vantagem: agrupamento de dados como partição (Exemplo: Regiões)
9. ÍNDICES
• Definição
• “[...] Índices são estruturas opcionais que as vezes aceleram o acesso a dados.[...]”
• “[...] São objetos logicamente e fisicamente independentes dos dados dos objetos aos
quais estão associados. [...]”
• Casos de Utilização
• Colunas utilizadas frequentementecomo filtro de busca e que representam uma
porcentagem pequena em relação ao total de linhas de uma tabela.
• Constraints de integridade de dados. Dessa forma o lock em uma tabela inteira não é
necessário ao fazer update ou delete em uma tabela pai.
• Casos específicos em Unique Constraints para especificar manualmente algumaopção.
• Cuidados
• A presença de vários índices em uma tabela afeta a performance em operações de
manipulação de dados (DML), pois os índices também são atualizados.
10. PROPRIEDADES DOS ÍNDICES
• Utilizável (default)
• Se for configurado para não ser utilizado, as operações DML não mantém o
índice atualizado e este é ignorado pelo otimizador do Oracle ao executar as
operações.
• Visível (default)
• Se for configurado como invisível, as operações DML atualizam o índice para
uso posterior. O otimizadortambém ignora nas operações.
11. CRIAÇÃO DE ÍNDICES
• “Primary and unique keys automatically have indexes, but you might want to create
an index on a foreign key.”
• Syntax
CREATE INDEX index_name
ON table_name (column_1, column_N);