1. 인덱스 생성

CREATE INDEX [인덱스명] ON [테이블명] ( [A컬럼명], [B컬럼명], [C컬럼명] );

 

2. 인덱스 삭제

ALTER TABLE [테이블명] DROP INDEX [인덱스명];

 

3. 기존 테이블에 인덱스 추가 생성

ALTER TABLE [테이블명] ADD INDEX [인덱스명] ( [A컬럼명], [B컬럼명], [C컬럼명] );

1. MySQL에서는 UPDATE 문을 사용방법[기본]

 

UPDATE [테이블명]

SET 컬럼명1=데이터1,

      컬럼명2=데이터2,

      컬럼명3=데이터3

WHERE [조건문]

 

WHERE 절 [조건문]을 만족하는 컬럼의 데이터를 수정함.

 

 

2. 복수의 테이블을 조인하여 UPDATE 문을 사용방법

UPDATE [A테이블명] A, [B테이블명] B

SET A.컬럼명1=데이터1,

      A.컬럼명2=데이터2,

      B.컬럼명3=데이터3

WHERE A.[조인할 컬럼] = B.[조인할 컬럼]

 

SQL 튜닝에 앞서 실행 계획을 확인하는 것은 매우 중요하다.

Explain 실행계획 내용 확인하는 방법 정리

 

1. Explain 실행계획 확인 방법

EXPLAIN

SELECT * FROM 테이블

 

매우 간단

 

 

2. 컬럼별 내용정리

SELECT A.품목 AS 품목,

          A.이미지URL AS 이미지URL,

          A.등록일자 AS 등록일자

          (CASE @vitemcd WHEN A.품목 THEN @rownum:=@rownum+1 ELSE @rownum:=1 END) AS 순서,

          (@vitemcd = A.품목) AS vitemcd

FROM 품목마스터 A, (SELECT @vitemcd:='', @rownum:=0 FROM DUAL) b

ORDER BY A.품목, A.등록일자 DESC 

 

여기저기 찾아보았지만 Mysql에서는 그룹별로 정렬을 시킬 수 있는 함수가 없었다.

그래서 찾다가 위와 같은 방법이 있다는 것을 확인 할 수 있었고,

품목별 그룹을 묶어 최신 등록일자순으로 순서를 매길 수 있었다. 

 

1. [Mysql] 이벤트 스케줄러(Event Scheduler) 생성 방법

 

CREATE EVENT IF NOT EXISTS (이벤트 이름)
   ON SCHEDULE  (실행시점 및 반복여부)
   ON COMPLETION NOT PRESERVE
   ENABLE COMMENT (이벤트에 대한 주석)
   DO (실행명령문) ; 

※ 실행명령문이 프로시저일 경우 (CALL 프로시져) 형태로 입력해야 함.

 

명령문은 CALL 프로시저, INSERT, UPDATE 등이 사용 가능함.

 

이벤트 스케줄러를 생성하였는데도 스케줄러가 동작하지 않을시 확인해야 할 것.

Mysql에서 이벤트 스케줄러가 활성화되어 있는지 체크.

해당 쿼리문 실행시 → show variables like 'event%';

OFF로 되어 있을시, 아래 쿼리문 실행하여 활성화 시켜준다.

SET GLOBAL event_scheduler = ON;

 

+ Recent posts