DB/Mysql

[mysql] KMA(기상청) API 테이블/INDEX CREATE

ten415 2023. 5. 1. 17:04
728x90
반응형

1.API 목록을 관리하는 테이블 CREATE

CREATE TABLE API_I
(
	API_NM VARCHAR(30) NOT NULL,     /*API명*/
    API_DVCD VARCHAR(2) NOT NULL,    /*API구분코드 01:getUltraSrtNcst*/
    API_INST_CD VARCHAR(3) NOT NULL, /*API기관코드 e.g)KMA(기상청)*/
    API_URL VARCHAR(300) NOT NULL,   /*API_URL*/
    API_KEY VARCHAR(300) NOT NULL,   /*API_KEY*/
    RMK VARCHAR(200) NOT NULL,       /*비고 : 초단기예보*/
  CONSTRAINT API_I_PK PRIMARY KEY(API_NM,API_DVCD,API_INST_CD)
);

 

2. API로 받아온 XML 데이터를 저장할 테이블 (KMA(기상청) 만 가정하고 만듦)

 - 인덱스도 생성함 (구분코드,기관코드) : where 조건에 사용할 친구들로 만듦

CREATE TABLE API_DATA_I(                              
  BASE_DT VARCHAR(8) NOT NULL,                 
  BASE_TM VARCHAR(6) NOT NULL,                               
  API_DVCD VARCHAR(2) NOT NULL,                         
  API_INST_CD VARCHAR(3) NOT NULL,
  XML_DATA LONGTEXT NOT NULL,                                     
  CONSTRAINT API_DATA_PK PRIMARY KEY(BASE_DT,BASE_TM,API_DVCD,API_INST_CD),
  INDEX `API_DVCD` (`API_DVCD`),
  INDEX `API_INST_CD` (`API_INST_CD`)
);

 

3. 인덱스 조회 

SHOW INDEX FROM API_DATA_I;

4. INDEX 삭제 

ALTER TABLE 테이블 DROP INDEX 인덱스명;
728x90
반응형