Oracle
장점
- Oracle사의 관계형 데이터베이스 관리 시스템(RDBMS)이다.
- 현재 유닉스/리눅스 환경에서 가장 널리 사용되는 RDBMS이다.
- 검색이나 업데이트용 언어로는 국제표준화기구의 표준 구조화 조회 언어와 PL/SQL을 지원한다.
- 대규모 데이터베이스를 지원하여 대량의 정보관리를 할 때에 가장 좋은 성능을 보인다.
- 고성능 트랜잭션 처리를 제공하여 속도가 빠르다
- SQL문을 실행하는 가장 효율적인 방법을 선택한다.
단점
- DBMS를 운영하기 위해서 많은 하드웨어 자원이 필요하다
- 관리가 복잡하다
- 가격이 비싸다
MSSQL
장점
- 마이크로소프트에서 개발한 데이터베이스 관리 시스템(RDBMS)이다.
- .NET Framework와 연동하여 데이터 베이스와의 상호작용이 용이하다.
- ACID(원자성, 일관성, 격리성, 지속성) 트랜잭션 처리와 복구 기능이 강력하여, 안정적인 데이터베이스 운영을 보장한다.
- 마이크로소프트에서 개발하고 유지보수하기 때문에 풍부한 지원 및 커뮤니티를 제공한다.
- 윈도우 개발환경에서 DB가 필요할 때 MSSQL을 사용한다.
단점
- 라이선스, 지원, 고급 기능 비용이 많이 든다
- 운영 체제에 종속적이이다.(Mac 지원x, Linux 호환성이 제한적)
- 정기적인 업데이트와 패치가 필요하다.
MySQL
장점
- MySQL DB는 세계에서 가장 많이 사용되는 오픈 소스의 관계형 데이터베이스 관리 시스템이다.
- 용량 차지가 적다.
- 무료로 사용할 수 있다
- 많은 API를 개발언어에 제공하고 있다.
- 백업이 편리하다.
- 매우 적은 오버 헤드를 사용한다.(용량 차지가 적다)
- 오픈 소스로 기본적으로는 무료로 사용할 수 있다.
단점
- 복잡한 쿼리에는 성능 저하가 발생한다.
- 트랜잭션 지원이 완벽하지 않다.
- 사용자정의 함수의 사용이 쉽지 않고 유연하지 않다.
각각의 DB 비교
Oracle VS MSSQL
1. 데이터베이스 생성
- Oracle: 하나의 서버에 하나의 데이터베이스 생성
- MSSQL : 하나의 서버에 여러 개의 데이터베이스 생성
- MySQl:
2. 데이터 타입 정의
- 정수형
- Oracle: Number
- MSSQL: thinyint, smallint, int, bigint
- 문자형
- Oracle : varchar2(10), nvarchar2(10) 등 으로 정의
- MSSQL : varchar(10), nvarchar(10) 등 으로 정의
- 날짜형
- Oracle : date
- MSSQL : smalldatettime, datetime
3. 테이블 생성 시 자동 증가
- Oracle : 자동 증가 옵션이 없어, 직접 구현
- MSSQL : 테이블 생성 시 자동 증가 옵션(identity(1,1)) 사용
Oracle vs MySQL
1. 구조적
- Oracle: DB 서버가 통합된 하나의 스토리지를 공유
- MySQL: DB 서버마다 독립적인 스토리지를 할당
2.조인(join) 방식
- Oracle : 중첩 루프 조인, 해시 조인, 소트 머지 조인 방식 제공
- MySQL : 중첩 루프 조인 방식 제공
3.확장성
- Oracle : 별도의 DBMS를 설치해 사용할 수 없음
- MySQL : 별도의 DBMS를 설치해 사용 할 수 있음
4. 메모리 사용률
- Oracle : 메모리 사용률이 커서 최소 수백MB 이상이 되어야 설치 가능
- MySQL : 메모리 사용율이 낮아서 1MB 환경에서도 설치가 가능
5. 구문
- Null 체크
- Oracle : NVL
- MySQL : IFNULL
- 현재 날짜 및 시간
- Oracle : SYSDATE
- MySQL : DATE
- 날짜 포맷 변환
- Oracle : TO_CHAR
- MySQL : DATE_FORMAT
- 문자 합치기
- Oracle : ''
- MySQL : COMCAT
- 페이징 처리
- Oracle : ROWNUM VETWEEN 0 AND 10
- MySQL : LIMIT
DB 순위

참고:https://db-engines.com/en/
정리
- Oracle
대량의 정보관리를 할때 MySQL, MSSQL보다 성능이 좋다.
하지만 조작 난이도가 있음
- MSSQL
윈도우 서버와 궁합이 잘 맞고 쉽게 DB를 만들고 삭제할 수 있다.
하지만 윈도우 외의 운영체제에서는 100% 성능을 발휘하기 힘들다.
- MySQL
무료로 이용이 가능하며 용량 차지가 적다.
하지만 트랜잭션 지원이 완벽하지 않고 다른 DB에 비해 성능이 떨어진다.
대량의 정보를 관리한다면 Oracle을 사용하고 Window 환경을 주로 사용 시 MSSQL을 사용하며 작은 프로젝트라면 MySQL을 사용할 것이다.
참고: https://dev-jwblog.tistory.com/85