SYSDATE() : SYSDATE() 함수가 호출된 시각
NOW() : NOW() 가 포함된 쿼리(구문(statement))가 호출된 시각
[Ex]
1
2
3
4
5
6
7
|
SELECT
SYSDATE(),
SLEEP(3) AS 'sleep',
SYSDATE(),
NOW(),
SLEEP(3) AS 'sleep',
NOW();
|
cs |
[결과]

[쿼리 한 줄씩 해석]
SELECT
SYSDATE() 함수 호출될 때의 시각 (6:52:28)
SLEEP(3) 3초간 Thread sleep (6:52:31)
SYSDATE() 함수 호출될 때의 시각 (6:52:31)
NOW() 쿼리(구문)가 실행될 때의 시각(6:52:28)
SLEEP(3) 3초간 Thread sleep (6:52:34)
NOW() 쿼리(구문)가 실행될 때의 시각(6:52:28)
※ SYSDATE와 NOW 는 각각 언제 사용해야 하는가?
- 실행결과에 따른 시각이 중요, 이를 저장해야하는 경우 NOW 사용
- 호출된 시각이 중요한 경우 SYSDATE 사용
ex) Spring Batch/Spring Quartz의 경우 Schedule, Job의 실행시각들이 메타테이블에 의해 관리가 되는데(Schedule, Job 관리가 inMemory 방식이 아닌 jdbc 방식인 경우), 쿼리가 끝난 시각이 아닌 호출시점의 시각이 중요하므로 SYSDATE를 사용하여 관리되고 있다.
참고 : https://database.guide/sysdate-vs-now-in-mysql-whats-the-difference/
반응형
'DB > MYSQL' 카테고리의 다른 글
[MySQL] 인덱스(INDEX) 관련 정리 (0) | 2020.01.11 |
---|---|
JOIN 에서 WHERE 와 ON 의 차이, 그리고 OUTER JOIN (4) | 2019.11.14 |
Mysql hierarchy sql 계층구조 쿼리 : 설계 및 쿼리작성(Multi selectbox) (0) | 2019.08.21 |
[Mysql] 시간 계산 : DATE_ADD, DATE_SUB (0) | 2019.08.21 |
SELECT + INSERT (mysql + mybatis) (0) | 2019.06.12 |