EXEC DBMS_STATS.GATHER_TABLE_STATS('HR', 'EMPLOYEES');
CREATE INDEX idx_emp_salary ON employees(salary);
-- Bad
SELECT * FROM orders WHERE TO_CHAR(order_date, 'YYYY') = '2024';
-- Good
SELECT * FROM orders
WHERE order_date BETWEEN DATE '2024-01-01' AND DATE '2024-12-31';
BEGIN
DBMS_SQLTUNE.CREATE_TUNING_TASK(...);
END;
BEGIN
DBMS_SQLTUNE.EXECUTE_TUNING_TASK(...);
END;
SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK(...) FROM dual;
| Type | Description |
|---|---|
| SQL Profile | Execution plan improvement |
| Index Recommendation | Suggests index creation |
| Statistics Recommendation | Suggests statistics collection |
| SQL Rewrite | Query restructuring |
| Alternative Plan | Suggests alternative execution plans |