検索

Oracle和SQLserver区别,网上查了查,大致如下。 1、从平台的适应性来说。 Oracle支持多种操作系统,而sql server只支持windows。 2、从我们使用数据库的角度来讲。 Oracle给dba更多的灵活性,可以根据实际情况调整参数,使应用性能最佳,但是缺点就是很难上

Oracle和SQLserver区别,网上查了查,大致如下。

        1、从平台的适应性来说。

         Oracle支持多种操作系统,而sql server只支持windows。

        2、从我们使用数据库的角度来讲。

         Oracle给dba更多的灵活性,可以根据实际情况调整参数,使应用性能最佳,但是缺点就是很难上手。sqlserver则相反,较容易上手。

        3、从数据库系统的体系结构来讲。

             Oracle的文件体系结构为:

                数据文件:.dbf(真实数据)。

                日志文件:rdo

                控制文件:ctl

                参数文件:ora

              SqlServer的文件体系结构为:

                 .mdf(数据字典)

                 .ndf(数据文件)

                 .ldf(日志文件)

         4、从存储结构上来讲。

               Oracle存储结构:

                  Oracle里面两个参数块pctfree(填充因子)和pctused(复用因子),可控制块本身何时有,何时没有足够的空间接受新信息(对块的存储情况分析机制)。

                  这样可以降低数据行连接于行迁移的可能性。块的大小可以设置(olp块和dss块)。

                  在Oracle中,将连续的块组成区,可动态分配区(区的分配是等额的也可以使自增长的)可减少空间分配次数。

                  在Oracle里表可以分为多个段,段由多个区组成,每个段可指定分配在哪个表空间里(段的类型分为:数据段、索引段、回滚段、临时段、cash段)。Oracle里还可以对表进行分区,可以按照用户定义的业务规则、条件或规范,物理的分开磁盘上的数据。这样大大的降低了磁盘争用的可能性。

                  Oracle有七个空基本表空间:

                  .system表空间(存放数据字典和数据管理自身所需的信息)。

                  .temp临时表空间。

                  .tools交互式表空间。

                  .users用户默认表空间。

                  .indx索引表空间。

                  .dbsys福数据表空间

                   不同的数据存放在不同的表空间,在Oracle里基表是加密存储,任何人都无法访问。只能通过用户可视视图查看。

            SqlServer存储结构:

                以页为最小分配单位,每个页8K,可将8个连续的页组成一个“扩展”,以进一步减少分配时所消耗的资源。在SqlServer中数据以表的方式存放,而表是存放在数据库里。

                sqlserver有五个基本数据库:

                 .master(数据字典)

                 .mode(存放样版)

                 .tempdb(临时数据库)

                 .msdb(存放调度信息和日志信息)

                 .pubs(示例数据库)

                  真实数据与数据字典存放在一起,对系统参数信息无安全机制。

         5、登入管理。

               Oracle登入管理:

                  .system/manager(初始账户)

                  .sys/change_on_nstall

                  .install/oracle(安装账户)

                  .scott/tiger(示例数据库,测试用)

                   在oracle里默认的只有三个系统用户,oracle是通过用户登录。

               Sqlserver登入管理:

                    .sqlserver 身份验证。

                    .windows身份验证。

                    在sqlserver中是通过对windows用户账户或是用sqlserver身份验证连接数据库的。

        

             6、本质。

                   sqlserver不是一种语言,和oracle数据库一样传输指令的一种方式。而sql是一种结构化查询语言,oracle的结构化查询语言类似sql。

             7、从语言语法上。 

                   sql中的null既不是字符也不是数字,它是缺省值,而oracle提供了nvl函数来解决。

                   oracle中的字符串连接为string1||string2 ,sql中为string1+string2.

                   集合操作:在sql中只有union,oracle中包含minus(差操作)、interect(交操作)、union(并操作)

                   索引:sql索引分为聚集索引和非聚集索引,还包括全文索引。

                   oracle中的索引包括:b+索引,bitmap位图索引,函数索引,反序索引,主键索引,散列索引,本地索引。

                 数据类型:

                  Oracle中的数据类型比较复杂,有基本的数据类型,衍生型,列对象型,结构体型;

                  sql中的数据比较简单,只有一些简单的基本数据数据类型无法提供事务操作。

                 事务:

                  在sql中如果一个事务从开始执行到结束时错了,就会回滚到开始之前。

                  在oracle中它采用的是定点回滚,就是该事务函数化和精确的错误定位,用savepoint标记保存点,用rollback标记回滚错误的保存点。

                  游标:

                  在sql中游标的使用比较复杂,不能同时打开一个以上的游标,因为它只是一个全局变量。@@fast_statues而且声明游标也麻烦,关闭游标时也不清除内存的。

                  oracle中的游标是提高速度全部统一的单项游标,可以允许用户异步读取,而且声明比较简单,就一句declare cursor 游标名 is select 语句就可以了。

           

               容错机制:

               sql中的错误机制比较复杂,没有提供错误描述;Oracle中的容错类型有三种,一个是预定义错误,一个是非预定义错误,一个是用户自定义,其中在自定义错误中它有两个slq是不同的,那是sqlcode错误号、sqlerrm错误描述。

           8、安全性。

             sqlserver没有获得任何安全证书。oracle server获得最高认证级别的ISO标准认证。DB2获得最高认证级别的ISO标准认证。

           9、性能。

                sqlserver多用户性能不佳。

                oracle性能最高,保持windowsNT下的TPC-D和TPC-C的世界纪录。

                DB2适用于数据仓库和在线事务处理性能较高。

          10、客户端支持及应用模式。

                sql serverCS结构,只支持windows客户,可以用ADO,DAO,LOEDB,ODBC连接。

                oracle多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接。

                DB2 是跨平台的,多层结构,支持ODBC,JDBC等客户。

         11、操作复杂和简单上。

                sqlserver操作简单,但只有图形界面。

                 oracle较复杂,同时提供GUI和命令行,在windowsNT和unix下操作相同。

                 DB2 操作简单,同时提供GUI和命令行,在windowsNT和unix下操作相同。

         12、使用风险。

                  sqlserver完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明,并不十分兼容早起的产品。使用需要风险。

                  Oracle长时间的开发经验,完全向下兼容。得到广泛的应用,完全几乎没有风险。

                  DB2巨型企业广泛应用,向下兼容性好,风险小。

 

                对于初学oracle大概了解,以后在使用的过程中再和sqlserver进行比较和总结。

       

           

 

 


                    

 

自:http://www.2cto.com/database/201207/144792.html

    

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
複数の単一列インデックスに対して複合インデックスをいつ使用する必要がありますか?複数の単一列インデックスに対して複合インデックスをいつ使用する必要がありますか?Apr 11, 2025 am 12:06 AM

データベースの最適化では、クエリ要件に従ってインデックス作成戦略を選択する必要があります。1。クエリに複数の列が含まれ、条件の順序が固定されている場合、複合インデックスを使用します。 2。クエリに複数の列が含まれているが、条件の順序が修正されていない場合、複数の単一列インデックスを使用します。複合インデックスは、マルチコラムクエリの最適化に適していますが、単一列インデックスは単一列クエリに適しています。

MySQLでスロークエリを識別して最適化する方法は? (スロークエリログ、Performance_schema)MySQLでスロークエリを識別して最適化する方法は? (スロークエリログ、Performance_schema)Apr 10, 2025 am 09:36 AM

MySQLスロークエリを最適化するには、slowquerylogとperformance_schemaを使用する必要があります。1。LowerQueryLogを有効にし、しきい値を設定して、スロークエリを記録します。 2。performance_schemaを使用してクエリの実行の詳細を分析し、パフォーマンスのボトルネックを見つけて最適化します。

MySQLおよびSQL:開発者にとって不可欠なスキルMySQLおよびSQL:開発者にとって不可欠なスキルApr 10, 2025 am 09:30 AM

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。

MySQL非同期マスタースレーブレプリケーションプロセスを説明してください。MySQL非同期マスタースレーブレプリケーションプロセスを説明してください。Apr 10, 2025 am 09:30 AM

MySQL非同期マスタースレーブレプリケーションにより、BINLOGを介したデータの同期が可能になり、読み取りパフォーマンスと高可用性が向上します。 1)マスターサーバーレコードはBinlogに変更されます。 2)スレーブサーバーは、I/Oスレッドを介してBINLOGを読み取ります。 3)サーバーSQLスレッドは、BINLOGを適用してデータを同期させます。

MySQL:簡単な学習のためのシンプルな概念MySQL:簡単な学習のためのシンプルな概念Apr 10, 2025 am 09:29 AM

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

MySQL:ユーザーフレンドリーなデータベースの紹介MySQL:ユーザーフレンドリーなデータベースの紹介Apr 10, 2025 am 09:27 AM

MySQLのインストールと基本操作には、次のものが含まれます。1。mysqlをダウンロードしてインストールし、ルートユーザーパスワードを設定します。 2。sqlコマンドを使用して、createdatabaseやcreateTableなどのデータベースとテーブルを作成します。 3. CRUD操作を実行し、挿入、選択、更新、コマンドを削除します。 4.パフォーマンスを最適化し、複雑なロジックを実装するためのインデックスとストアドプロシージャを作成します。これらの手順を使用すると、MySQLデータベースをゼロから構築および管理できます。

InnoDBバッファープールはどのように機能し、なぜパフォーマンスに不可欠なのですか?InnoDBバッファープールはどのように機能し、なぜパフォーマンスに不可欠なのですか?Apr 09, 2025 am 12:12 AM

Innodbbufferpoolは、データとインデックスページをメモリにロードすることにより、MySQLデータベースのパフォーマンスを向上させます。 1)データページは、ディスクI/Oを削減するためにBufferPoolにロードされます。 2)汚れたページは、定期的にディスクにマークされ、リフレッシュされます。 3)LRUアルゴリズム管理データページの排除。 4)読み出しメカニズムは、可能なデータページを事前にロードします。

MySQL:初心者向けのデータ管理の容易さMySQL:初心者向けのデータ管理の容易さApr 09, 2025 am 12:07 AM

MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。