노트북에는 예전 MySQL 버전이 깔려있는데 이번에 데스크탑에도 설치 할겸 버전도 바꿀겸 새로 설치해보려한다.mysql 사이트 접속하기https://www.mysql.com/downloads/위 경로에 접속한다.MySQL Community(GPL) Downlo
Index는 RDBMS에서 검색 속도를 높이기 위한 기술이다.TABLE의 컬럼을 색인화(따로 파일로 저장)하여 검색시 해당 TABLE의 레코드를 Full Scan 하는게 아니라 색인화 되어있는 INDEX 파일을 검색하여 검색속도를 빠르게 한다.RDBMS에서 사용하는 I
SQL 튜닝은 SQL문을 최적화하여 빠른 시간내에 원하는 결과값을 얻기 위한 작업이다.부하의 감소보통 일반적으로 접근하는 튜닝 방식으로, 동일한 부하를 보다 효율적인 방법으로 수행해야 한다.부하의 조정 부하 정도에 따라 업무를 조정하는 접근 방법으로, 일반 업무(OLT
Hint란 SQL 튜닝의 핵심 부분으로 일종의 지시 구문이다.오라클 Optimizer에게 SQL문 실행을 위한 데이터를 스캐닝하는 경로, 조인 방법 등을 알려주기 위해 SQL사용자가 SQL 구문에 작성하는 것을 뜻한다.오라클이 항상 최적의 실행 경로를 만들어 내기는 불
EXPLAIN PLAN이란 SQL문의 액세스 경로를 확인하고 튜닝할 수 있도록 SQL문을 분석, 해석해 실행계획을 수립한 후 PLAN_TABLE에 저장하는 명령이다.SQL문이 어떻게 실행되고 작동하는지를 점검하기 위해 사용한다.여기서 sql은 SELECT, INSERT
Domain 이란 엔티티의 속성들이 가질 수 있는 값들의 집합으로, 관계형 이론에서 도메인은 실제로는 구현이 어렵기 때문에, 대부분의 DBMS에서 도메인이란 속성에 대응하는 컬럼에 대한 데이터 타입(Data Type)과 길이를 의미한다.두 속성의 도메인이 같다라는 것은
View는 사용자에게 접근이 허용되는 데이터만을 제한적으로 보여주기 위해, 하나 이상의 기본 테이블로부터 유도된 이름을 가지는 가상 테이블이다.View는 저장장치 내에 물리적으로 존재하지 않지만, 사용자에게 있는 것 처럼 사용된다.View는 데이터 보정 작업, 처리 과
관계형 데이터베이스(Oracle, MySQL, MS-SQL, SQLite 등등)는 엔티티끼리 관계를 맺을 수 있어서 관계형 DB라는 이름이 붙었다.엔티티(Entity) : DataBase에 표현하려고 하는 유형, 무형의 객체로서 서로 구별되는 것을 뜻한다.관계는 두 엔
MySQL에서 Column의 값이 Null인 경우를 처리해주는 함수들은 IFNULL, CASE, COALESCE과 같은 함수들이 있다.Orcale의 NVL()과 비슷한 기능을 한다.해당 Column의 값이 NULL을 반환할 때, 다른 값으로 출력할 수 있도록 하는 함수
DISTINCT는 중복되는 데이터 제거를 위해 주로 UNIQUE한 Column이나 Tuple(Record)를 조회하는 경우에 사용한다.정렬(Filesort)하지 않고 결과를 출력해, GROUP BY에 비해 성능이 빠르다.DISTINCT는 내부적으로 GROUP BY와 동
DATE_FORMAT(DATETIME date, FORMAT)은 MySQL에서 시간 타입의 Column을 원하는 FORMAT으로 변환하여 반환하는 함수이다.ExampleFORMAT에 올 수 있는 형태와 변환 결과는 아래와 같다.\[MySQL]DATE_FORMAT 날짜
REGEXP는 LIKE를 이용한 검색과 달리 Regular Expression(정규 표현식)를 이용해 검색한다.REGEXP를 사용하면 SQL에서 정규표현식을 활용하여 기본 연산자보다 복잡한 문자열 조건을 걸어 데이터를 검색할 수 있다.하지만 정규표현식 검색을 이용할 때
앞서 Index에 대해서 정리 했었지만, Clustered Index와 Non-Clustered Index를 자세히 다루지 않아 이번 시간에 자세히 두 Index의 차이를 정리해보려 한다.Index는 DB의 테이블에 데이터가 많을 때, 검색 속도를 향상시켜주기위해 사용
Partition이란 MySQL Server에서는 데이터를 별도의 테이블로 분리해서 저장하지만 사용자는 여전히 하나의 테이블로 읽기와 쓰기를 할 수 있게 해주는 솔루션이다.Partition은 DBMS 하나의 서버에서 테이블을 분산하는 것이다.원격 서버 간에 분산을 지원
개발 서버에서 Local DB Server를 사용하다가 DB Server를 이관할때나 DB를 옮길때 MySQL에서 Export하는 방법에 대해서 진행해보려한다.먼저 MySQL Workbench를 열고 DB에 Connect 후 Server > Data Export를 누르
MySQL의 스토리지 엔진으로 가장 많이 사용하는 엔진으로는 InnoDB와 MyISAM이 있다. InnoDB 엔진은 트랜잭션 처리가 필요하고 대용량의 데이터를 다루는 부분에서 효율적이고, MyISAM 엔진은 트랜잭션 처리가 필요 없고, Read only 기능이 많은
SELECT 결과 INSERT 하기 SELECT된 결과를 가지고 INSERT 쿼리를 실행하는 문법은 아래와 같다. All Column 모든 컬럼을 가지고 조회된 결과를 INSERT하는 문법은 아래와 같다. INSERT INTO 들어갈테이블명 SELECT * FROM
cmd창 열고 mysql -u root -p 입력 후 패스워드 입력하기create user '아이디'@'%' identified by '비밀번호'; 입력하기host 를 '%' 로 주면 모든 외부 IP에서 접속할 수 있다.특정 IP 대역에서만 접속하게 설정하려면 'IP.
테이블 생성 테이블명 수정 테이블 삭제 컬럼 추가 컬럼 삭제 컬럼명 수정 컬럼 타입 수정
특정 테이블에 이미 존재하는 Column에 다른 테이블 Column과 참조 관계를 맺기 위해선 아래 Query를 날려주면 된다.실제 테이블 적용 Query 예제는 아래와 같다.
Trigger Trigger는 DBMS에서 Data의 입력, 갱신, 삭제 등의 Event가 발생할 때 마다, 자동으로 수행되는 사용자 정의 Procedure이다. Procedure나 사용자 정의 함수(UDF)는 사용자가 직접 호출해야만 하지만, Trigger는
Tibero에서는 SQL 표준에 기반한 Data Type을 제공한다. 이 중 문자열을 표현하는 Data Type인 문자형 Type에는 아래 Type들이 있다. CHAR VARCHAR VARCHAR2 NCHAR NVARCHAR NVARCHAR2 RAW LONG LON
수많은 Procedure, Trigger, Function 들로 구성된 DB가 있을때, 특정 Table 관련이나 특정 Column 등과 같이 특정 요소가 포함된 Procedure, Trigger, Function을 검색해야 할 때가 있다.
PL/SQL Procedure PL/SQL Procedure는 Application의 특정 Business Logic을 캡슐화 하여, 재사용 가능한 단위이다. PL/SQL Procedure는 Oracle Database에 Schema Object로 저장된 명명 B
Package는 Variable, Constants, Sub Programm(Procedure, Function)의 집합체로, PL/SQL에서 사용하는 Procedure, Function를 한 Package로 정의하여, 필요할 때 마다 Package안에 있는 Pro