SYSTEM_CORE_VIEWER

이벤트
Target Object / Identifier
stats_direction_01_1s
업비트 통계 1초봉
업비트 통계 테이블을 1초 단위 복사
Exchange
업비트
Type
이벤트
Form
복사
DB TABLE
stats_direction_01_1s
TABLE DAEMON
DB EVENT
stats_direction_01_1s
[STATUS] INACTIVE
[ID] #39
[TABLE] stats_direction_01_1s
[ENGINE] InnoDB
[ROWS] 12,232,510
  DB TABLE
Table Status
Table Namestats_direction_01_1s
EngineInnoDB
Rows12,232,510
Data Length2,358,247,424 bytes
Index Length502,087,680 bytes
Comment
Created2026-04-11 09:29:33
Updated2026-04-20 02:29:30
# Column Name Type Null Key Default Extra Comment
1wr_idbigint(20) unsignedNOPRINULLauto_increment
2marketvarchar(20)NOMULNULL마켓 구분 (예: BTCUSDT)
3wr_datetimedatetimeNOMULNULL데이터 수집 시점
4day_of_weektinyint(4)YES-NULLSTORED GENERATED요일 0~6
5side_plusbigint(20)NO-0매수측 방향
6side_minusbigint(20)NO-0매도측 방향
7side_totalbigint(20)NO-0매매 전체 방향
8side_plus_cntbigint(20) unsignedNO-0매수 방향성
9side_minus_cntbigint(20)NO-0매도 방향성
10side_total_cntbigint(20)NO-0
11side_avgdoubleYES-NULL거래량 평균치
12acc_bid_volumedoubleNO-0누적 매수 거래량
13acc_ask_volumedoubleNO-0누적 매도 거래량
14net_voldoubleNO-0순유입(거래량) = acc_bid_volume - acc_ask_volume
15trade_pricedecimal(20,8)YES-0.00000000현재 시장 가격
16change_ratedecimal(10,5)YES-0.00000업비트 실시간 등락률
17chg_dirtinyint(4)NO-0등락 방향(+1/-1/0)
18chg_dir_sumbigint(20)NO-0등락 방향 누적합(= chg_dir 누적)
19chg_up_streakint(11)NO-0상승 연속 카운트(+ 연속이면 +N, 아니면 0)
20chg_down_streakint(11)NO-0하락 연속 카운트(- 연속이면 +N, 아니면 0)
21chg_up_streak_maxint(10) unsignedNO-0상승 연속 최장 기록(최대값)
22chg_down_streak_maxint(10) unsignedNO-0하락 연속 최장 기록(최대값)
23chg_rate_avgdoubleNO-0등락률 흐름 평균(누적 평균)
24chg_rate_avg_cntbigint(20) unsignedNO-0등락률 평균 분모 카운트
  DB EVENT
Event Scheduler Status (stats_direction_01_1s)
Status / Interval ENABLED | Every 1 SECOND
Last Executed 2026-04-20 02:29:30
Event SQL Definition
INSERT INTO upbit_data.stats_direction_01_1s (
  market, wr_datetime,
  side_plus, side_minus, side_total,
  side_plus_cnt, side_minus_cnt, side_total_cnt,
  side_avg, acc_bid_volume, acc_ask_volume, net_vol,
  trade_price, change_rate,
  chg_dir, chg_dir_sum,
  chg_up_streak, chg_down_streak,
  chg_up_streak_max, chg_down_streak_max,
  chg_rate_avg, chg_rate_avg_cnt
)
SELECT
  s.market,
  s.wr_datetime,
  s.side_plus, s.side_minus, s.side_total,
  CASE WHEN (s.side_total_cnt - IFNULL(pm.side_total_cnt, s.side_total_cnt)) > 0 THEN 1 ELSE 0 END AS side_plus_cnt,
  CASE WHEN (s.side_total_cnt - IFNULL(pm.side_total_cnt, s.side_total_cnt)) < 0 THEN -1 ELSE 0 END AS side_minus_cnt,
  s.side_total_cnt,
  s.side_avg, s.acc_bid_volume, s.acc_ask_volume, s.net_vol,
  s.trade_price, s.change_rate,
  CASE
    WHEN (s.chg_dir_sum - IFNULL(pm.chg_dir_sum, s.chg_dir_sum)) > 0 THEN  1
    WHEN (s.chg_dir_sum - IFNULL(pm.chg_dir_sum, s.chg_dir_sum)) < 0 THEN -1
    ELSE 0
  END AS chg_dir,
  s.chg_dir_sum,
  CASE
    WHEN (s.chg_dir_sum - IFNULL(pm.chg_dir_sum, s.chg_dir_sum)) > 0 THEN IFNULL(pm.chg_up_streak, 0) + 1
    ELSE 0
  END AS chg_up_streak,
  CASE
    WHEN (s.chg_dir_sum - IFNULL(pm.chg_dir_sum, s.chg_dir_sum)) < 0 THEN IFNULL(pm.chg_down_streak, 0) + 1
    ELSE 0
  END AS chg_down_streak,
  GREATEST(
    IFNULL(pm.chg_up_streak_max, 0),
    CASE
      WHEN (s.chg_dir_sum - IFNULL(pm.chg_dir_sum, s.chg_dir_sum)) > 0 THEN IFNULL(pm.chg_up_streak, 0) + 1
      ELSE 0
    END
  ) AS chg_up_streak_max,
  GREATEST(
    IFNULL(pm.chg_down_streak_max, 0),
    CASE
      WHEN (s.chg_dir_sum - IFNULL(pm.chg_dir_sum, s.chg_dir_sum)) < 0 THEN IFNULL(pm.chg_down_streak, 0) + 1
      ELSE 0
    END
  ) AS chg_down_streak_max,
  s.chg_rate_avg, s.chg_rate_avg_cnt
FROM upbit_data.stats_direction_01 s
LEFT JOIN (
  SELECT market, MAX(wr_id) AS max_id
  FROM upbit_data.stats_direction_01_1s
  GROUP BY market
) last ON last.market = s.market
LEFT JOIN upbit_data.stats_direction_01_1s pm
  ON pm.market = last.market AND pm.wr_id = last.max_id
WHERE s.wr_datetime >= NOW() - INTERVAL 10 SECOND
  AND NOT EXISTS (
    SELECT 1
    FROM upbit_data.stats_direction_01_1s m
    WHERE m.market = s.market
      AND m.wr_datetime = s.wr_datetime
  )