본문 바로가기
반응형

Database/MYSQL238

대량의 데이터 INSERT시 빠르게 하는방법 대량의 데이터 INSERT시 빠르게 하는방법 -> 주의 : undo log와 redo log가 쌓이지 않습니다 즉 롤백할수 없으며 장애시 복구불가능 합니다 관리상 대량의 임시 데이터를 INSERT 할때 사용하는것이 바람직 합니다 PARALLEL 사용 DROP INDEX pks_target_t; ALTER SESSION ENABLE PARALLEL DML; ALTER TABLE target_t NOLOGGING; INSERT /*+ PARALLEL.. 2007. 6. 4.
MAX 함수 튜닝 MAX 함수 튜닝 다음 쿼리를 튜닝해 보자 SELECT MAX(SEQ) FROM ORDER_DETAIL WHERE ORDER_NO = '00001' ORDER_DETAIL의 INDEX정보 INDEX ORDER_DETAIL_PK(ORDER_NO, SEQ) 실행계획 0 SELECT STATEMENT Optimizer=ALL_ORWS 1 0 SORT (AGGREGATE) 2 1 INDEX(RANGE SCAN) OF 'ORDER_DETAIL_PK' (UNIQUE) MAX를 얻기위해 INDEX를 RANGE ACCESS한후 SORT 후 가장 큰값을 도출하는 구조 INDE.. 2007. 6. 4.
프로시저 생성 구문 DELIMITER $$; DROP;;;; PROCEDURE IF EXISTS osban.mem_info$$ CREATE PROCEDURE mem_info(memID char(12)) BEGIN ... 내용 입력 END$$ DELIMITER ;$$ 2007. 6. 4.
스토어드 루틴 및 트리거의 바이너리 로깅 17.4. 스토어드 루틴 및 트리거의 바이너리 로깅 바이너리 로그는 데이터 베이스의 컨텐츠를 수정하는 SQL명령문에 대한 정보를 가지고 있다. 이러한 정보는 수정 사항을 설명하는 “이벤트(Event)”형태로 보관되어 진다. 바이너리 로그에는 두 가지 중요한 목적이 담겨 있다: 리플리케이션의 경우, 마스.. 2007. 6. 4.
스토어드 프로시저, 함수, 트리거, 및 리플리케이션 : FAQ 17.3. 스토어드 프로시저, 함수, 트리거, 및 리플리케이션 : FAQ MySQL 5.0의 스토어드 프로시저 및 함수를 리플리케이션과 함께 사용할 수 있습니까? 예, 스토어드 프로시저 및 함수에서 수행되는 표준 동작은 마스터 MySQL서버에서 슬레이브 서버로 복사본이 전달됩니다. 이 기능에는 몇 가지 제약 사항이 있.. 2007. 6. 4.
플로우 컨트롤(Flow Control) 구성 17.2.10. 플로우 컨트롤(Flow Control) 구성 17.2.10.1. IF 명령문 IF search_condition THEN statement_list [ELSEIF search_condition THEN statement_list] ... [ELSE statement_list] END IF IF 문장은 기본적인 조건문을 제공한다. 만일search_condition 의 조건에 맞으면, 이에 대응하는 SQL명령문 리스트가 실행된다. 만일 search_condition 의 조건이 일치.. 2007. 6. 4.
커서(Cursors) 17.2.9. 커서(Cursors) 17.2.9.1. Cursors 선언하기 DECLARE cursor_name CURSOR FOR select_statement 이 명령문은 커서를 선언하는 것이다. 다중 커서는 루틴 내에서 선언될 수도 있으나, 주어진 블록내의 각 커서는 반드시 서로 다른 이름을 가져야 한다 . SELECT 명령문은 INTO 구문을 가질 수 없다. 17.2.9.2. Cursor OPEN 명령문 OPEN c.. 2007. 6. 4.
조건문 및 핸들러 17.2.8. 조건문 및 핸들러 17.2.8.1. DECLARE 조건문 DECLARE condition_name CONDITION FOR condition_value condition_value: SQLSTATE [VALUE] sqlstate_value | mysql_error_code 이 명령문은 특정 핸들링을 필요로 하는 컨디션을 표시한다. 이것은 명기된 에러 컨디션이 있는 이름과 관련을 갖는다. 그 이름은 DECLARE HANDLER 명령문에서 순차적으.. 2007. 6. 4.
SELECT ... INTO 명령문 17.2.7.3. SELECT ... INTO 명령문 SELECT col_name[,...] INTO var_name[,...] table_expr 이와 같은 SELECT 신텍스는 선택한 컬럼을 변수에 직접 저장한다. 따라서, 오로지 단일 열(single row)만이 복구될 수도 있다. SELECT id,data INTO x,y FROM test.t1 LIMIT 1; 사용자 변수 이름은 대소문자 구분을 하지 않는다. Section 9.3, “사용자 지정 .. 2007. 6. 4.
변수 SET 명령문 17.2.7.2. 변수 SET 명령문 SET var_name = expr [, var_name = expr] ... 스토어드 루틴내의 SET 명령문은 일반적인 SET 명령문의 확장된 버전이다. 참조된 변수는 루틴 내에서 선언된 것이거나, 또는 글로벌 시스템 변수가 선언한 것이 될 수도 있다. 스토어드 루틴내의SET 명령문은 이미 존재하는(the pre-existing) SET 신텍.. 2007. 6. 4.
DECLARE 로컬 변수 17.2.7.1. DECLARE 로컬 변수 DECLARE var_name[,...] type [DEFAULT value] 이 명령문은 로컬 변수를 선언하는데 사용된다. 변수에 디폴트 값을 제공하기 위해서는, DEFAULT 구문을 포함시킨다. 하나의 수식으로 값을 명기할 수 있다; 이 값이 상수(constant)일 필요는 없다. 만일DEFAULT 구문을 빠트리게 되면, 초기 값은 NULL이 .. 2007. 6. 4.
DECLARE 명령문 신텍스 17.2.6. DECLARE 명령문 신텍스 DECLARE 명령문은 다양한 로컬 아이템을 루틴에서 정의하는데 사용된다: 로컬 변수. Section 17.2.7, “스토어드 루틴내의 변수” 참조. Conditions 및 handlers. Section 17.2.8, “Conditions 및 Handlers” 참조. Cursors. Section 17.2.9, “Cursors” 참조. SIGNAL 및 RESIGNAL 명령문은 현재 지원하지 않는다. .. 2007. 6. 4.
BEGIN ... END 복합 명령문 신텍스 17.2.5. BEGIN ... END 복합 명령문 신텍스 [begin_label:] BEGIN [statement_list] END [end_label] BEGIN ... END 신텍스는 복합 명령문을 작성하기 위해 사용되는데, 이것은 스토어드 루틴 및 트리거 내에서도 나타날 수 있다 복합 명령문은 BEGIN과 END키워드로 둘러싸인 다중 명령문을 포함할 수 있다. statement_list 는 하나 또는 .. 2007. 6. 4.
CALL 명령문 신텍스 17.2.4. CALL 명령문 신텍스 CALL sp_name([parameter[,...]]) CALL 명령문은 CREATE PROCEDURE으로 정의된 프로시저를 호출한다. CALL 명령문은 OUT 또는 INOUT파라미터로 선언한 파라미터를 사용해서 그것을 호출한 곳에 값을 되돌려 줄 수 있다. 또한, 이것은 해당되는 열의 수를 “returns” 해 주는데, 이 열의 수는 ROW_COUNT().. 2007. 6. 4.
DROP;;;; PROCEDURE 및 DROP;;;; FUNCTION 신텍스 17.2.3. DROP;;;; PROCEDURE 및 DROP;;;; FUNCTION 신텍스 DROP;;;; {PROCEDURE | FUNCTION} [IF EXISTS] sp_name 이 명령문은 스토어드 프로시저 또는 함수를 드롭 하기 위해 사용된다. 즉, 명기된 루틴이 서버로부터 제거된다. MySQL 5.0.3의 경우, 루틴에 대한 ALTER ROUTINE 권한이 있어야 한다. (이 권한은 루틴 생성자에게 자동으로 제.. 2007. 6. 4.
ALTER PROCEDURE 및 ALTER FUNCTION 신텍스 17.2.2. ALTER PROCEDURE 및 ALTER FUNCTION 신텍스 ALTER {PROCEDURE | FUNCTION} sp_name [characteristic ...] characteristic: { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA } | SQL SECURITY { DEFINER | INVOKER } | COMMENT 'string' 이 명령문은 스토어드 프로지서 또는 함수의 특성을 변경하고자 할 때 사용할 수 있다. MySQL 5.0.3의 경우, 루틴에 대.. 2007. 6. 4.
CREATE PROCEDURE 와 CREATE FUNCTION 신텍스 17.2.1. CREATE PROCEDURE 와 CREATE FUNCTION 신텍스 CREATE PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic ...] routine_body CREATE FUNCTION sp_name ([func_parameter[,...]]) RETURNS type [characteristic ...] routine_body proc_parameter: [ IN | OUT | INOUT ] param_name type func_parameter: param_name type type: Any valid MySQL data type characteristic: LANGUAGE SQL | [NOT] DETERMINI.. 2007. 6. 4.
Chapter 17. 스토어드 프로시저와 함수 Chapter 17. 스토어드 프로시저와 함수 17.1. 스토어드 루틴 및 그랜트 테이블 17.2. 스토어드 프로시저 신텍스 17.2.1. CREATE PROCEDURE 및 CREATE FUNCTION 신텍스 17.2.2. ALTER PROCEDURE 및 ALTER FUNCTION 신텍스 17.2.3. DROP;;;; PROCEDURE 및 DROP;;;; FUNCTION 신텍스 17.2.4. SHOW CREATE PROCEDURE 및 SHOW CREATE FUNCTION 신텍스 17.2.5. SHOW PROCEDURE STA.. 2007. 6. 4.
강좌] Package로 설치한 MySQL 실행 환경설정방법! ################################################################## 이 문서는 mysql의 소스를 컴파일하여 설치한게 아니라 pkgadd 명령어를 이용하여 패키지를 설치하였을 경우에 대한 내용이다. ################################################################## 존대말을 사용하지 않고 설명하겠다. 이해해 주시길~ ^^ (제작 : 김종성) ****.. 2007. 6. 4.
InnoDB Performance tuning tips InnoDB는 MyISAM과 공유하는 메모리도 있지만 대개 별도의 Buffer pool을 가지고 있습니다. 즉, MyISAM의 경우 record_buffer나 key_buffer를 사용하지만 InnoDB는 innodb_additional_mem_pool_size나 innodb_buffer_pool_size 같은 별도의 메모리를 사용합니다. 따라서 InnoDB전용 DB를 구성한다면 key_buffer나 record_buffer 에 너무 많은 메모리.. 2007. 6. 4.
반응형