Код IT Загрузка примера кода…

SQL main.sql
-- Анализ плана выполнения в различных СУБД
-- Oracle
EXPLAIN PLAN FOR
SELECT /*+ PARALLEL(employees 4) */ 
    department_id, 
    COUNT(*) 
FROM employees 
GROUP BY department_id;

SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

-- PostgreSQL
EXPLAIN ANALYZE
SELECT /*+ HashJoin(e d) */ 
    d.department_name, 
    COUNT(e.employee_id)
FROM employees e
JOIN departments d ON e.department_id = d.department_id
GROUP BY d.department_name;

-- SQL Server
SET SHOWPLAN_ALL ON;
GO

SELECT 
    d.DepartmentName, 
    COUNT(e.EmployeeID)
FROM Employees e
JOIN Departments d ON e.DepartmentID = d.DepartmentID
GROUP BY d.DepartmentName;

SET SHOWPLAN_ALL OFF;
GO

-- MySQL
EXPLAIN FORMAT=JSON
SELECT /*+ BKA(d) */ 
    d.department_name, 
    COUNT(e.employee_id)
FROM employees e
JOIN departments d ON e.department_id = d.department_id
GROUP BY d.department_name;
-- Анализ плана выполнения в различных СУБД
-- Oracle
EXPLAIN PLAN FOR
SELECT /*+ PARALLEL(employees 4) */ 
    department_id, 
    COUNT(*) 
FROM employees 
GROUP BY department_id;

SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

-- PostgreSQL
EXPLAIN ANALYZE
SELECT /*+ HashJoin(e d) */ 
    d.department_name, 
    COUNT(e.employee_id)
FROM employees e
JOIN departments d ON e.department_id = d.department_id
GROUP BY d.department_name;

-- SQL Server
SET SHOWPLAN_ALL ON;
GO

SELECT 
    d.DepartmentName, 
    COUNT(e.EmployeeID)
FROM Employees e
JOIN Departments d ON e.DepartmentID = d.DepartmentID
GROUP BY d.DepartmentName;

SET SHOWPLAN_ALL OFF;
GO

-- MySQL
EXPLAIN FORMAT=JSON
SELECT /*+ BKA(d) */ 
    d.department_name, 
    COUNT(e.employee_id)
FROM employees e
JOIN departments d ON e.department_id = d.department_id
GROUP BY d.department_name;