>  기사  >  데이터 베이스  >  mysql과 oracle 사이에 차이점이 있나요?

mysql과 oracle 사이에 차이점이 있나요?

青灯夜游
青灯夜游원래의
2021-12-01 15:31:424560검색

다음과 같은 차이점이 있습니다. 1. MySQL은 트랜잭션을 자동으로 제출하고, Oracle은 수동으로 제출합니다. 2. 격리 수준에서 MySQL은 "읽기 커밋"이고 Oracle은 "반복 읽기"입니다. 3. MySQL은 가볍고 무료입니다. 무겁고 수수료가 부과됩니다.

mysql과 oracle 사이에 차이점이 있나요?

이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.

mysql과 oracle의 차이점

(1) 트랜잭션 제출

MySQL은 기본적으로 자동 제출을 하는 반면, Oracle은 기본적으로 자동 제출을 하지 않고 사용자가 수동으로 제출해야 합니다. commit; 명령 또는 커밋 버튼 클릭

(2) 페이징 쿼리

MySQL은 SQL 문에 "select... from ...where...limit x, y"를 직접 씁니다. 달성

그리고 Oracle 의사 열 ROWNUM과 중첩 쿼리를 사용해야 합니다

(3) 트랜잭션 격리 수준

MySQL은 커밋된 읽기의 격리 수준이고 Oracle은 반복 읽기의 격리 수준이며 둘 다 지원합니다. 직렬화 가능 직렬화 트랜잭션 격리 수준은 최고 수준의 읽기 일관성을 달성할 수 있습니다. 각 세션이 제출된 후에만 다른 세션에서 제출된 변경 사항을 볼 수 있습니다. Oracle은 실행 취소 테이블 공간에 다중 버전 데이터 블록을 구성하여 읽기 일관성을 달성합니다. 각 세션이 쿼리될 때 해당 데이터 블록이 변경되면 Oracle은 실행 취소 테이블 공간에서 이 세션에 대한 이전 쿼리 버전을 구성합니다. MySQL에는 다중 버전 데이터 블록을 구성하기 위한 Oracle과 유사한 메커니즘이 없으며 커밋된 읽기의 격리 수준만 지원합니다. 한 세션이 데이터를 읽으면 다른 세션이 데이터를 변경할 수는 없지만 테이블 끝에 데이터를 삽입할 수는 있습니다. 세션이 데이터를 업데이트할 때 배타적 잠금을 추가해야 합니다. 다른 세션은 데이터에 액세스할 수 없습니다

(4) 트랜잭션 지원

MySQL은 innodb 스토리지 엔진의 행 수준 잠금이 있는 트랜잭션만 지원할 수 있지만 Oracle은

(5) 데이터 지속성 저장

MySQL은 데이터베이스가 업데이트되거나 다시 시작되면 데이터가 손실됩니다. Oracle은 제출된 SQL 작업 줄을 온라인 로그 파일에 기록하고 디스크에 보관할 수 있습니다. 언제든지 복원됩니다

(6) 동시성

MySQL은 주로 테이블 수준 잠금을 사용하며 리소스 잠금의 세분성은 매우 큽니다. 세션이 테이블을 너무 오랫동안 잠그면 다른 세션에서 이를 업데이트할 수 없습니다. 테이블의 데이터.

InnoDB 엔진 테이블은 행 수준 잠금을 사용할 수 있지만 이 행 수준 잠금 메커니즘은 테이블의 인덱스에 의존합니다. 테이블에 인덱스가 없거나 SQL 문이 인덱스를 사용하지 않는 경우 테이블 수준 잠금이 적용됩니다. 여전히 사용되고 있습니다. Oracle은 행 수준 잠금을 사용하며 리소스 잠금의 세분성은 훨씬 작습니다. SQL에 필요한 리소스만 잠그고 잠금은 데이터베이스의 데이터 행에 적용되며 인덱스에 의존하지 않습니다. 따라서 동시성에 대한 Oracle의 지원이 훨씬 더 좋습니다.

(7) 논리적 백업

백업된 데이터의 일관성을 보장하기 위해 MySQL 논리적 백업 중에 데이터를 잠그는 것이 필요하며, 이는 Oracle이 논리적 백업 중에 데이터를 잠그지 않습니다.

(8) 복제
MySQL: 복제 서버 구성은 간단하지만, 메인 데이터베이스에 문제가 있을 경우 클러스터 데이터베이스에서 일정량의 데이터가 손실될 수 있습니다. 그리고 플렉스 라이브러리를 메인 라이브러리로 수동으로 전환해야 합니다.

Oracle: 기존 데이터 복제에는 푸시 또는 풀이 있고 Dataguard의 이중 머신 또는 다중 머신 재해 복구 메커니즘이 있습니다. 기본 데이터베이스에 문제가 있으면 대기 데이터베이스가 자동으로 기본 데이터베이스로 전환될 수 있습니다. 구성 관리는 더 복잡합니다.

(9) 성능 진단

MySQL에는 진단 및 조정 방법이 거의 없으며 주로 쿼리 로그가 느립니다.

Oracle은 다양한 자동 분석 및 진단 기능을 실현할 수 있는 다양한 성숙한 성능 진단 및 튜닝 도구를 보유하고 있습니다. 예를 들어 awr, addm, sqltrace, tkproof 등

(10) 권한 및 보안

MySQL 사용자는 호스트와 관련되어 있어 무의미하게 느껴집니다. 또한 호스트와 IP가 위조될 가능성이 더 높습니다. 그리고 이용당했습니다.

오라클의 권한과 보안 개념은 비교적 전통적이며 상당히 만족스럽습니다.

(11) 분할된 테이블 및 분할된 인덱스

MySQL의 분할된 테이블은 아직 성숙하지 않고 안정적이지 않습니다.

Oracle의 파티션 테이블과 파티션 인덱스 기능은 매우 성숙되어 있으며 DB에 액세스하는 사용자 경험을 향상시킬 수 있습니다.

(12) 관리 도구

Linux에서 관리 도구를 설치하려면 때때로 추가 패키지(phpmyadmin 등)를 설치해야 하는데 이는 복잡합니다.

Oracle은 다양한 명령줄, 그래픽 인터페이스, 웹 관리 도구 및 다양한 타사 관리 도구를 갖추고 있어 관리가 매우 편리하고 효율적입니다.

(13) 가장 중요한 차이점

MySQL은 경량 데이터베이스이며 무료이며 데이터 복원 서비스가 없습니다.

Oracle은 대용량 데이터베이스이므로 수수료가 있습니다. Oracle 회사는 Oracle 데이터베이스에 대한 모든 서비스를 제공합니다.

【관련 추천: mysql 비디오 튜토리얼

위 내용은 mysql과 oracle 사이에 차이점이 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.