본문 바로가기

개발/Database

(20)
SQL 튜닝 같은 결과의 쿼리는 여러 형태로 작성될 수 있으며 옵티마이저가 실행계획을 생성할 때 최대 성능의 쿼리를 작성해야 한다. 옵티마이저는 SQL을 가장 빠르고 효율적으로 수행할 최적의 처리경로를 생성해주는 DBMS 내부의 핵심 엔진이다. 사용자가 구조화된 질의언어로 결과집합을 요구하면 이를 생성하는데 필요한 처리경로는 DBMS에 내장된 옵티마이저가 자동으로 생성해주며 이 처리 경로를 실행계획이라고 부른다. 더 높은 성능의 쿼리를 작성하기 위한 튜닝 가이드라인을 작성한다. 1. WHERE 조건에 인덱스 모두 사용 TEST 테이블에서 TEST_NO, TEST_CONTEXT 컬럼이 TEST_NO_IDX 인덱스로 존재할 때 아래 쿼리는 인덱스를 사용하지 않는다. SELECT * FROM TEST WHERE TEST_..
저장 프로시저(Stored Procedure) 저장 프로시저(Stored Procedure)는 SQL 서버에서 제공되는 프로그래밍 기능이다. 쿼리문의 집합으로 동작을 일괄 처리하는 용도이다. 정의 --Transact-SQL Stored Procedure Syntax CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ] [ { @parameter [ type_schema_name. ] data_type } [ VARYING ] [ = default ] [ OUT | OUTPUT ] [READONLY] ] [ ,...n ] [ WITH [ ,...n ] ] [ FOR REPLICATION ] AS { [ BEGIN ] sql_statement [;] [ ...n ] [ END ] ..
트랜잭션 (Transaction) 트랜잭션(Transaction)은 하나의 논리적 작업 단위로 수행되는 일련의 작업을 말한다. 트랜잭션은 데이터 일치성과 동시발생을 보장하기 위해 사용한다. 트랜잭션 작업 시 영향을 받은 행들은 락처리 되며 다른 사용자는 해당 행을 변경할 수 없다. 트랜잭션 작업 후 커밋시 영향받았던 행들에 대해 락이 해제되며 트랜잭션이 완료 처리된다. 트랜잭션 롤백 시 트랜잭션 생성 이전 시점으로 롤백된다. 롤백 세그먼트(Rollback Segment) 롤백 세그먼트는 수정되기 전의 파일, 블록 ID 등 블럭 정보 및 데이터를 저장한다. MSSQL의 경우 BEGIN TRAN 으로 트랜잭션을 시작하고 트랜잭션 성공시 COMMIT 하거나 ROLLBACK 할 수 있다. 트랜잭션이 성공하면 트랜잭션 동안 이루어진 일련의 작업 ..
데이터베이스 (Database) 정보시스템 데이터를 통해 정보를 얻어내는 시스템을 말한다. 현실세계에서 데이터를 수집하고 데이터를 처리하여 유의미한 정보를 얻어내는 시스템이다. 데이터 : 현실 세계의 단순한 관찰을 통해 수집된 사실 또는 값 정보 : 특정 해석이나 의미를 갖는 데이터 데이터베이스 시스템 데이터를 처리하여 정보를 얻어내는 과정을 도와주는 시스템이다. 데이터베이스의 특징은 다음과 같다. 실시간 접근성 계속적인 변화 동시 공유성 운영 가능 내용 참조 DBMS(Database Management System) 데이터베이스를 다루기 위한 시스템을 의미한다. 데이터를 정의,조작,제어할 수 있으며 관계형 데이터베이스 관리 시스템에서는 SQL 사용이 가능하다. DDL(Data Manipulation Language) : 데이터 정의어..

반응형