์ด๋ฒคํธ
ํน์ ์๊ฐ์ ์๋์ผ๋ก ์คํ๋๋๋ก ์์ฝ๋ ์์
(scheduled task)์
๋๋ค.
์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๊ฐ ์ ๊ธฐ์ ์ธ ์ ์ง๋ณด์๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์์
์ ์๋ํํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
ํน์ง
โข
์ ํด์ง ์๊ฐ์ ์๋์ผ๋ก ์คํ๋๋ ์ค์ผ์ค๋ง ๊ธฐ๋ฅ
โข
์ผํ์ฑ ๋๋ ๋ฐ๋ณต ์คํ ๊ฐ๋ฅ
โข
์ด๋ฒคํธ ์ค์ผ์ค๋ฌ๊ฐ ํ์ฑํ๋์ด ์์ด์ผ ๋์
โข
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ง๋ณด์ ์๋ํ์ ์ ์ฉ
์ฝ๋ ์์
1. ์ด๋ฒคํธ ์์ฑ
-- ์ด๋ฒคํธ ์ค์ผ์ค๋ฌ ํ์ฑํ
SET GLOBAL event_scheduler = ON;
-- ๋งค์ผ ์์ ์ ์คํ๋๋ ์ด๋ฒคํธ ์์ฑ
CREATE EVENT daily_cleanup
ON SCHEDULE EVERY 1 DAY
STARTS '2025-05-02 00:00:00'
DO
DELETE FROM logs WHERE created_at < DATE_SUB(NOW(), INTERVAL 30 DAY);
SQL
๋ณต์ฌ
2. ์ด๋ฒคํธ ์์
-- ์ด๋ฒคํธ ์์
ALTER EVENT daily_cleanup
ON SCHEDULE EVERY 2 DAY
DO
DELETE FROM logs WHERE created_at < DATE_SUB(NOW(), INTERVAL 60 DAY);
SQL
๋ณต์ฌ
3. ์ด๋ฒคํธ ์ญ์
-- ์ด๋ฒคํธ ์ญ์
DROP EVENT IF EXISTS daily_cleanup;
-- ์ด๋ฒคํธ ๋นํ์ฑํ
ALTER EVENT daily_cleanup DISABLE;
SQL
๋ณต์ฌ
์ฐธ๊ณ : ์ด๋ฒคํธ ์ค์ผ์ค๋ฌ์ ์ํ๋ ๋ค์ ๋ช
๋ น์ด๋ก ํ์ธํ ์ ์์ต๋๋ค:
SHOW VARIABLES LIKE 'event_scheduler';
SQL
๋ณต์ฌ
์ค์ ์์ (employees ์คํค๋ง)
employees ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ์ค์ฉ์ ์ธ ์ด๋ฒคํธ ์์์
๋๋ค:
1. ๊ธ์ฌ ์ด๋ ฅ ๋ฐฑ์
CREATE EVENT backup_salaries
ON SCHEDULE EVERY 1 MONTH
STARTS '2025-06-01 00:00:00'
DO
INSERT INTO salary_backup
SELECT * FROM salaries
WHERE from_date > DATE_SUB(NOW(), INTERVAL 1 MONTH);
SQL
๋ณต์ฌ
2. ํด์ฌํ ์ง์ ๋ฐ์ดํฐ ์์นด์ด๋ธ
CREATE EVENT archive_ex_employees
ON SCHEDULE EVERY 6 MONTH
STARTS '2025-06-01 00:00:00'
DO
BEGIN
INSERT INTO archived_employees
SELECT * FROM employees e
WHERE e.emp_no IN (
SELECT emp_no FROM dept_emp
WHERE to_date < NOW()
);
DELETE FROM employees
WHERE emp_no IN (
SELECT emp_no FROM archived_employees
);
END;
SQL
๋ณต์ฌ
3. ๋ถ์๋ณ ํ๊ท ๊ธ์ฌ ํต๊ณ ์ ๋ฐ์ดํธ
CREATE EVENT update_dept_salary_stats
ON SCHEDULE EVERY 1 WEEK
STARTS '2025-05-08 00:00:00'
DO
INSERT INTO dept_salary_stats
SELECT
d.dept_no,
d.dept_name,
AVG(s.salary) as avg_salary,
NOW() as calculated_at
FROM departments d
JOIN dept_emp de ON d.dept_no = de.dept_no
JOIN salaries s ON de.emp_no = s.emp_no
WHERE s.to_date > NOW()
GROUP BY d.dept_no, d.dept_name;
SQL
๋ณต์ฌ
์์ ์์๋ค์ ์ค์ ์
๋ฌด ํ๊ฒฝ์์ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ ์ ์๋ ์ด๋ฒคํธ๋ค์
๋๋ค. ๊ฐ๊ฐ ์๋ณ ๊ธ์ฌ ๋ฐ์ดํฐ ๋ฐฑ์
, ํด์ฌ์ ๋ฐ์ดํฐ ๊ด๋ฆฌ, ๊ทธ๋ฆฌ๊ณ ์ฃผ๊ฐ ํต๊ณ ์
๋ฐ์ดํธ๋ฅผ ์๋ํํฉ๋๋ค.