Acelere suas operações com paralelismo no Oracle SQL: exemplos práticos com código
O paralelismo é uma técnica comumente usada para acelerar operações dividindo uma tarefa em sub-tarefas menores. É fundamental para o processamento de dados em larga escala. Usando paralelismo, centenas de terabytes de dados podem ser processados em minutos, não horas ou dias.
No Oracle SQL, o paralelismo pode ser usado para reduzir o tempo de execução de consultas explorando os recursos de CPU e I/O do hardware. A execução paralela é uma escolha melhor do que a execução serial quando a consulta faz referência a um grande conjunto de dados, há baixa concorrência e o tempo decorrido é importante.
Existem vários tipos de paralelismo no Oracle SQL, incluindo consultas paralelas, declarações DDL paralelas, operações DML paralelas e execução paralela de funções. A decisão de paralelização para consultas SQL tem dois componentes: a decisão de paralelizar e o grau de paralelismo (DOP). Esses componentes são determinados de maneira diferente para consultas, operações DDL e operações DML.
Aqui estão alguns exemplos práticos de como usar o paralelismo no Oracle SQL:
- Consultas Paralelas: Você pode usar consultas paralelas e subconsultas paralelas em instruções SELECT e executar em paralelo as partes da consulta das instruções DDL e DML (INSERT, UPDATE e DELETE). Você também pode consultar tabelas externas em paralelo.
SELECT /*+ PARALLEL(employees, 4) */ employee_id, last_name
FROM employees
WHERE department_id = 20;
Neste exemplo, estamos usando a dica PARALLEL
para especificar que queremos que a consulta seja executada em paralelo com um grau de paralelismo (DOP) de 4.
- DDL Paralelo: Para operações DDL paralelas, o objeto de referência que determina o DOP é a tabela, índice ou partição que está sendo criada, reconstruída, dividida ou movida. Se a instrução DDL paralela incluir uma subconsulta, o DOP da subconsulta é equivalente à operação DDL.
CREATE INDEX employees_ix
ON employees (department_id)
PARALLEL 4;
Neste exemplo, estamos usando a cláusula PARALLEL
para especificar que queremos criar um índice em paralelo com um grau de paralelismo (DOP) de 4.
- DML Paralelo: Para DML paralelo (INSERT, UPDATE, MERGE e DELETE), o objeto de referência que determina o DOP é a tabela sendo modificada por uma operação de inserção, atualização ou exclusão. O DML paralelo também adiciona alguns limites ao DOP para evitar deadlock. Se a instrução DML paralela incluir uma subconsulta, o DOP da subconsulta é equivalente ao da operação DML.
INSERT /*+ APPEND PARALLEL(departments, 4) */ INTO departments
SELECT * FROM departments;
Neste exemplo, estamos usando as dicas APPEND
e PARALLEL
para especificar que queremos inserir dados em uma tabela em modo direto e em paralelo com um grau de paralelismo (DOP) de 4.
Esses são apenas alguns exemplos de como você pode usar o paralelismo no Oracle SQL para acelerar suas operações. Espero que esses exemplos práticos ajudem você a entender melhor como usar o paralelismo no Oracle SQL!
Abs
Fontes