这是我在安装和开始使用Oracle 10g, PostgreSQL8 ,以及MySQL 5时做出的比较。我从以下三种艺术形态来比较一下三种类型的数据库:商业vs.学术vs.因特网模型。这是从一个想要安装数据库并对其进行学习的初级使用者的角度做出的比较。我试图以家庭或者小型商业
这是我在安装和开始使用Oracle 10g, PostgreSQL8 ,以及MySQL 5时做出的比较。我从以下三种艺术形态来比较一下三种类型的数据库:商业vs.学术vs.因特网模型。这是从一个想要安装数据库并对其进行学习的初级使用者的角度做出的比较。我试图以家庭或者小型商业用户的视角来进行说明。
完全大揭密:我非常倾向于Oracle,并且真的希望没有其他的任何产品能够真正与之抗衡。
许可费用:我不想要卷入开源和资源保密的争论中去。Oracle是一个商业的数据库,要想使用就必须交纳许可费用。MySQL 和 PostgreSQL则是开源项目。Oracle为你提供了免费的开发许可证,用来试验并创建原型。
配置:我使用的是一台较老的机器,内存256兆,硬盘40G,CPU是633Mhz 的赛扬。操作系统是Windows2000专业版。我想要在低端配置上进行安装,以便于衡量对于家庭用户类型的安装的性能。
操作系统:我选择在Windows下面进行比较,因为我相信这仍然是新近使用数据库的人们的最常见的平台。我的意思是人们在家里进行安装。对于新的公司用户来说,他们就无须对操作系统或者数据库进行选择,当然这个比较也就没有意义了。
版本:
PostgreSQL 8.0——PostgreSQL 8.0是一款非常新的产品。我选择8.0是因为它是最新的版本,并且它很本来就支持Windows。这是第一个不需要模拟器或者第三方重新编译的真正支持Windows的版本。
MySQL ——MySQL 5.0也是一款非常新的产品。实际上,我使用的版本v5.0.4是一款beta版。我对于应该选择稳定的v4还是beta版的v5犹豫了一阵子。最后我选择v5是因为v4无法与PostgreSQL 或者 Oracle 进行竞争。V4没有存储过程、触发器、视图等。没有上述特性,我认为它不具有竞争者的资格,而v5则支持上述特性。
Oracle 10g——这是Oracle的最新版本,去年发布的。我认为,Oracle 10g是数据库重的黄金标准。然而,我还是认为它太过昂贵,并且在产品环境需要相当的知识才能对其进行维护。
得分指标:
文档和入门支持
易于安装
易于检验安装是否成功
非管理员用户的创建
运行第一个查询的时间
资源需求
得分:我给每一个指标打一个从1到10的分数,10表示最好或者最高。
文档和入门支持
PostgreSQL ——我找到了它对以前很多版本的支持(在Linux, Cygwin等环境下),但是对Windows的支持却只有8.0。PostgreSQL 文件管理网站,http://www.postgresql.org/docs/,提供了非常好非常完整的文档。我认为,过去PostgreSQL的一个长处就是它的文档。
这个网站包括了非常好的安装文档。然而,安装后的文档和入门文档就非常有限。我希望他们能够及时改变这种状况。
我在google上查询了“PostgreSQL入门”,获得上千个点击,但是几乎都是版本7的。PostgreSQL 有一些Usenet新闻组支持,但是我发现他们不是很活跃。
PostgreSQL 文档得分:5
MySQL ——因为v5是如此的新,以至于现在还没有很多的文档。满世界都是MySQL v3和v4的文档。查看Amazon 或者BN.com ,MySQL 似乎是相当多的较小的因特网和面向java的公司的选择。
因为v5是beta版本,我不会给这个指标打分,因为文档会在发布的时候给出。V4拥有令人惊讶的文档,我也非常期望v5在发布产品的时候能够拥有同样多的文档。我根据v4的文档给出得分。
我在google上查询“MySQL入门”,获得了数百万的点击,几乎都是v4的。我没有找到针对MySQL 的Usenet 新闻组支持,但是我发现comp.databases 组中发表了一些对MySQL 的支持。
MySQL 文档得分:8
Oracle ——Oracle ,作为一个商业产品,它拥有一大批全职的技术编辑。每个特性都有说明,并且许多特性都有自己的手册。Oracle提供的安装文档非常不错,但是缺点就是它是由Oracle专用的第三方网站组成的。文档,和文档入口一样,都非常成熟。
除了针对每个操作系统的安装文档之外,Oracle还提供了一个《2天成为数据库管理员》的指南。这个文档对于新用户来说是不可缺少的。
我在google上搜索“Oracle入门”,可以查到数百万个点击。Oracle还拥有鲁棒的Usenet 新闻组支持。
Oracle文档得分:10
易于安装
PostgreSQL
我以前没有在Cygwin(一种用于Windows的Unix环境)之上使用过PostgreSQL 。我对于安装赶到非常惊讶。它运行起来非常自然,没有丝毫纰漏。安装过程也非常快。
PostgreSQL 的安装是最快的。根据文档描述,你可以在没有管理权限的情况下进行安装。因为这是支持Windows(没有Cygwin)的第一个PostgreSQL 版本,我想要测试一下服务支持。PostgreSQL 作为服务安装,在机器重启之后可以没有问题的启动。
PostgreSQL 安装得分:10
MySQL
我过去构建了一个网站,主要用于自己娱乐,使用了MySQL 作为数据库。我使用的技术是Java/Apache/MySQL 。根据已往的经验,我十分期望MySQL 可以在安装方面胜出。然而,MySQL 是惟一一个在安装过程中失败的。我执行了清除,然后重新运行安装程序。又失败了。我再次清理,重新启动电脑,然后重新运行安装程序。这次成功安装。我不确定是什么引起了错误。它隐藏得很深,但是它导致了数次的失败。然而,我可以强制通过。记住,这只是一个beta版本。
MySQL 还可以作为服务进行安装,在机器重启之后没有错误的启动。当它运行正确的时候,安装进行得也很快。
MySQL 安装得分:5
Oracle
Oracle再一次证明了它是一个非常成熟的产品。在三者当中,Oracle是唯一一个不需要管理员权限就可以安装的。这个选项非常好。
并且,它确实非常容易安装。我没有碰到错误。Oracle也是惟一一个在安装的最后提示我按下一步按钮的。这个方法对于新用户来说非常有用,它几乎不需要任何努力。所有的数据库都应该提供这种支持。
实际上,Oracle有一个诟病就是它的安装花费的时间。这对于家庭用户来说确实是一个问题。有好几次,我都怀疑我的机器挂掉了,因为我在很长一段时间内没有得到任何的反馈。
Oracle安装得分:7
易于检验安装是否成功
要验证安装是否成功有一点困难,但是上述三种数据库都提供了数据访问工具。我根据提供的文档中的指示,在三种环境都中可以访问到服务器。
以上三种数据库的验证得分:10
非管理员用户的创建:
PostgreSQL :PostgreSQL 使用了标准的CREATE USER语法,我可以轻松地执行这个任务。文档可以指导用户通过这个任务(出于安全的需要)。
PostgreSQL 创建用户得分:10
MySQL :在v5版本中也可以使用CREATE USER语法。以前发布的版本则不可以。因此,文档是不完整的;不能明显地看出是否可以使用CREATE USER。对于新用户,这有点令人困惑。
MySQL 创建用户得分:7
Oracle:Oracle 使用标准CREATE USER语法,我能够轻松地执行这个任务。文档可以指导用户完成这个任务。
Oracle创建用户得分:10
运行第一个查询的时间
上述三种数据库文档集都提供了连接并运行第一个查询的指南。
上述三种数据库的第一个查询得分:10
资源需求:
PostgreSQL ——我对于PostgreSQL 的最小资源需求感到十分吃惊。我进行了一些测试,例如在远程连接的时候打开网络浏览器和MS-Word ,可以看到我的测试机器上面没有收到任何影响。
我没有找到最小的硬件需求,但是旧机器上的256兆内存看起来足够了。
PostgreSQL 资源得分:10
MySQL ——MySQL 的资源需求非常小是众所周知的。这就是它的一个最大的卖点,并且一直如此。我进行了与在PostgreSQL上面进行的同样的测试,MySQL 执行得与PostgreSQL 一样好。
非常奇怪的是,我也没有找到MySQL 的最小硬件需求,但是旧机器上面的256兆内存看起来是足够了。
MySQL 资源得分:10
Oracle——Oracle 使用了大多数的内存,并且Oracle 10g使用得比以前的版本还多。实际上,它最好运行在512兆内存的机器上,我推荐1G的内存。
在测试机上,仅是Oracle的启动就花了很长时间。当我打开Word,内存开始不断地交换和停滞。开启了多个远程连接之后,数据库开始停顿。Oracle可以安装并运行在256兆内存的机器上,但是我不推荐。
Oracle资源得分:3
那么综合评定如何呢?下面是最终得分:
PostgreSQL: 55
MySQL: 50
Oracle: 50
那么,这就是安装和第一次使用的得分。这根本不是我期望的结果。我认为这三者得分如此的高是非常好的。我本没有期望会得到这个结果,或者是Oracle和MySQL不分胜负。我也没有预料到PostgreSQL 会成为第一名。
然而,安装只是使用数据库的一小部分。还有语言支持、管理、额外的可用特性、安全措施,以及第三方的支持。在不久的将来 ,我还会写出这些部分的比较。
Oracle 10g | MySQL 5.0 | PostgreSQL 8.0 | |
文档和学习支持 | 10 | 8 | 5 |
易于安装性 | 7 | 5 | 10 |
易于检验成功安装 | 10 | 10 | 10 |
创建非admin权限用户 | 10 | 7 | 10 |
执行第一次查询的时间 | 10 | 10 | 10 |
资源占用 | 3 | 10 | 10 |
虽然postgresql的文档只得5分,不过我觉得postgreSQL官方文档也很全,只是因为还不够普及所以经验之谈得资料很少,我相信以后会多.

MySQL은 GPL 라이센스를 사용합니다. 1) GPL 라이센스는 MySQL의 무료 사용, 수정 및 분포를 허용하지만 수정 된 분포는 GPL을 준수해야합니다. 2) 상업용 라이센스는 공개 수정을 피할 수 있으며 기밀이 필요한 상업용 응용 프로그램에 적합합니다.

MyISAM 대신 InnoDB를 선택할 때의 상황에는 다음이 포함됩니다. 1) 거래 지원, 2) 높은 동시성 환경, 3) 높은 데이터 일관성; 반대로, MyISAM을 선택할 때의 상황에는 다음이 포함됩니다. 1) 주로 읽기 작업, 2) 거래 지원이 필요하지 않습니다. InnoDB는 전자 상거래 플랫폼과 같은 높은 데이터 일관성 및 트랜잭션 처리가 필요한 응용 프로그램에 적합하지만 MyISAM은 블로그 시스템과 같은 읽기 집약적 및 트랜잭션이없는 애플리케이션에 적합합니다.

MySQL에서 외국 키의 기능은 테이블 간의 관계를 설정하고 데이터의 일관성과 무결성을 보장하는 것입니다. 외국 키는 참조 무결성 검사 및 계단식 작업을 통해 데이터의 효과를 유지합니다. 성능 최적화에주의를 기울이고 사용할 때 일반적인 오류를 피하십시오.

MySQL에는 B-Tree Index, Hash Index, Full-Text Index 및 공간 인덱스의 네 가지 주요 인덱스 유형이 있습니다. 1.B- 트리 색인은 범위 쿼리, 정렬 및 그룹화에 적합하며 직원 테이블의 이름 열에서 생성에 적합합니다. 2. HASH 인덱스는 동등한 쿼리에 적합하며 메모리 저장 엔진의 HASH_Table 테이블의 ID 열에서 생성에 적합합니다. 3. 전체 텍스트 색인은 기사 테이블의 내용 열에서 생성에 적합한 텍스트 검색에 사용됩니다. 4. 공간 지수는 지리 공간 쿼리에 사용되며 위치 테이블의 Geom 열에서 생성에 적합합니다.

toreateanindexinmysql, usethecreateindexstatement.1) forasinglecolumn, "createindexidx_lastnameonemployees (lastname);"2) foracompositeIndex를 사용하고 "createDexIdx_nameonemployees (forstName, FirstName);"3)을 사용하십시오

MySQL과 Sqlite의 주요 차이점은 설계 개념 및 사용 시나리오입니다. 1. MySQL은 대규모 응용 프로그램 및 엔터프라이즈 수준의 솔루션에 적합하며 고성능 및 동시성을 지원합니다. 2. SQLITE는 모바일 애플리케이션 및 데스크탑 소프트웨어에 적합하며 가볍고 내부질이 쉽습니다.

MySQL의 인덱스는 데이터 검색 속도를 높이는 데 사용되는 데이터베이스 테이블에서 하나 이상의 열의 주문 구조입니다. 1) 인덱스는 스캔 한 데이터의 양을 줄임으로써 쿼리 속도를 향상시킵니다. 2) B-Tree Index는 균형 잡힌 트리 구조를 사용하여 범위 쿼리 및 정렬에 적합합니다. 3) CreateIndex 문을 사용하여 CreateIndexIdx_customer_idonorders (customer_id)와 같은 인덱스를 작성하십시오. 4) Composite Indexes는 CreateIndexIdx_customer_orderOders (Customer_id, Order_Date)와 같은 다중 열 쿼리를 최적화 할 수 있습니다. 5) 설명을 사용하여 쿼리 계획을 분석하고 피하십시오

MySQL에서 트랜잭션을 사용하면 데이터 일관성이 보장됩니다. 1) STARTTRANSACTION을 통해 트랜잭션을 시작한 다음 SQL 작업을 실행하고 커밋 또는 롤백으로 제출하십시오. 2) SavePoint를 사용하여 부분 롤백을 허용하는 저장 지점을 설정하십시오. 3) 성능 최적화 제안에는 트랜잭션 시간 단축, 대규모 쿼리 방지 및 격리 수준을 합리적으로 사용하는 것이 포함됩니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
