use mydb;
alter EVENT expireRow
ON SCHEDULE
EVERY 1 HOUR
DO
DELETE FROM thatTable
WHERE TIMESTAMPDIFF(DAY, date , NOW()) > 7
==
SHOW EVENTS FROM mydb;
'mysql' 카테고리의 다른 글
connection, cursor, transaction 사용시 주의점 (0) | 2015.02.04 |
---|
use mydb;
alter EVENT expireRow
ON SCHEDULE
EVERY 1 HOUR
DO
DELETE FROM thatTable
WHERE TIMESTAMPDIFF(DAY, date , NOW()) > 7
==
SHOW EVENTS FROM mydb;
connection, cursor, transaction 사용시 주의점 (0) | 2015.02.04 |
---|
비동기처리를 쓰는 서버에서 1개의 connection을 공유해서 쓴다고 했을때 그냥 모르고 쓰다보면 일단 2가지 문제가 생길 수 있는데..
문제1. select 요청
2개 의 커서를 쓴다고 해보자.
이때 1번 커서가 select를 해놓고 fetchall을 안한 상태에서
2번 커서가 select를 요청하면 unread query가 있다고 exception이 발생한다. (insert 는 가능)
그리고 select의 결과는 connection에 있기 때문에 1번 커서가 select하고 2번 커서에서 fetchall을 해도 결과가 전달 된다.
문제 2. transaction
mysql transaction을 걸어놓고 비동기에 빠져 있다면,
다른 핸들러가 새로운 transaction을 시작할 수 있다. 이렇게 되면 exception 발생!
따라서 connection pool을 만들어 놓고 쓰는 것이 아닌이상 transaction을 걸고 비동기로 들어가면 안된다!
Making scheduler for expiry (0) | 2018.01.19 |
---|